Update app.py
Browse files
app.py
CHANGED
@@ -755,50 +755,11 @@ def generate_space_name():
|
|
755 |
letters = string.ascii_lowercase
|
756 |
return ''.join(random.choice(letters) for i in range(6))
|
757 |
|
758 |
-
def deploy_to_huggingface(code: str):
|
759 |
-
"""HuggingFace Spaces์ ์ฝ๋ ๋ฐฐํฌ"""
|
760 |
-
try:
|
761 |
-
token = os.getenv("HF_TOKEN")
|
762 |
-
if not token:
|
763 |
-
return "HuggingFace ํ ํฐ์ด ์ค์ ๋์ง ์์์ต๋๋ค."
|
764 |
-
|
765 |
-
api = HfApi(token=token)
|
766 |
-
space_name = generate_space_name()
|
767 |
-
username = api.whoami()['name']
|
768 |
-
|
769 |
-
# Space ์์ฑ
|
770 |
-
repo_id = f"{username}/{space_name}"
|
771 |
-
create_repo(
|
772 |
-
repo_id,
|
773 |
-
repo_type="space",
|
774 |
-
space_sdk="static",
|
775 |
-
token=token,
|
776 |
-
private=False
|
777 |
-
)
|
778 |
-
|
779 |
-
# index.html ์์ฑ ๋ฐ ์
๋ก๋
|
780 |
-
with open("index.html", "w", encoding="utf-8") as f:
|
781 |
-
f.write(code)
|
782 |
-
|
783 |
-
api.upload_file(
|
784 |
-
path_or_fileobj="index.html",
|
785 |
-
path_in_repo="index.html",
|
786 |
-
repo_id=repo_id,
|
787 |
-
repo_type="space"
|
788 |
-
)
|
789 |
-
|
790 |
-
# ์ฌ๋ฐ๋ฅธ URL ํ์์ผ๋ก ๋ณ๊ฒฝ
|
791 |
-
space_url = f"https://huggingface.co/spaces/{username}/{space_name}"
|
792 |
-
return f"""๋ฐฐํฌ ์๋ฃ! <a href="{space_url}" target="_blank" style="color: #1890ff; text-decoration: underline; cursor: pointer;">์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ด๊ธฐ</a>"""
|
793 |
-
|
794 |
-
except Exception as e:
|
795 |
-
return f"๋ฐฐํฌ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}"
|
796 |
-
|
797 |
|
798 |
def deploy_to_vercel(code: str):
|
799 |
"""Vercel์ ์ฝ๋ ๋ฐฐํฌ"""
|
800 |
try:
|
801 |
-
token =
|
802 |
if not token:
|
803 |
return "Vercel ํ ํฐ์ด ์ค์ ๋์ง ์์์ต๋๋ค."
|
804 |
|
@@ -815,10 +776,10 @@ def deploy_to_vercel(code: str):
|
|
815 |
"Content-Type": "application/json"
|
816 |
}
|
817 |
|
818 |
-
#
|
819 |
project_data = {
|
820 |
"name": project_name,
|
821 |
-
"framework": "
|
822 |
}
|
823 |
|
824 |
project_response = requests.post(api_url, headers=headers, json=project_data)
|
@@ -826,20 +787,20 @@ def deploy_to_vercel(code: str):
|
|
826 |
if project_response.status_code != 200:
|
827 |
return f"ํ๋ก์ ํธ ์์ฑ ์คํจ: {project_response.text}"
|
828 |
|
829 |
-
# ํ์ผ ๋ฐ์ดํฐ ๊ตฌ์กฐ
|
830 |
files = [{
|
831 |
"file": "index.html",
|
832 |
"data": code,
|
833 |
"encoding": "utf-8"
|
834 |
}]
|
835 |
|
836 |
-
# ๋ฐฐํฌ ์์ฒญ ๋ฐ์ดํฐ
|
837 |
deploy_data = {
|
838 |
"name": project_name,
|
839 |
"files": files,
|
840 |
"projectId": project_response.json()["id"],
|
841 |
"target": "production",
|
842 |
-
"framework": "
|
843 |
}
|
844 |
|
845 |
deploy_response = requests.post(deploy_url, headers=headers, json=deploy_data)
|
@@ -855,7 +816,6 @@ def deploy_to_vercel(code: str):
|
|
855 |
except Exception as e:
|
856 |
return f"๋ฐฐํฌ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}"
|
857 |
|
858 |
-
|
859 |
|
860 |
# Demo ์ธ์คํด์ค ์์ฑ
|
861 |
demo_instance = Demo()
|
|
|
755 |
letters = string.ascii_lowercase
|
756 |
return ''.join(random.choice(letters) for i in range(6))
|
757 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
758 |
|
759 |
def deploy_to_vercel(code: str):
|
760 |
"""Vercel์ ์ฝ๋ ๋ฐฐํฌ"""
|
761 |
try:
|
762 |
+
token = "A8IFZmgW2cqA4yUNlLPnci0N"
|
763 |
if not token:
|
764 |
return "Vercel ํ ํฐ์ด ์ค์ ๋์ง ์์์ต๋๋ค."
|
765 |
|
|
|
776 |
"Content-Type": "application/json"
|
777 |
}
|
778 |
|
779 |
+
# framework๋ฅผ 'vanilla'๋ก ์ค์
|
780 |
project_data = {
|
781 |
"name": project_name,
|
782 |
+
"framework": "vanilla" # 'vanilla' ์ฌ์ฉ
|
783 |
}
|
784 |
|
785 |
project_response = requests.post(api_url, headers=headers, json=project_data)
|
|
|
787 |
if project_response.status_code != 200:
|
788 |
return f"ํ๋ก์ ํธ ์์ฑ ์คํจ: {project_response.text}"
|
789 |
|
790 |
+
# ํ์ผ ๋ฐ์ดํฐ ๊ตฌ์กฐ
|
791 |
files = [{
|
792 |
"file": "index.html",
|
793 |
"data": code,
|
794 |
"encoding": "utf-8"
|
795 |
}]
|
796 |
|
797 |
+
# ๋ฐฐํฌ ์์ฒญ ๋ฐ์ดํฐ
|
798 |
deploy_data = {
|
799 |
"name": project_name,
|
800 |
"files": files,
|
801 |
"projectId": project_response.json()["id"],
|
802 |
"target": "production",
|
803 |
+
"framework": "vanilla" # ์ฌ๊ธฐ๋ 'vanilla' ์ฌ์ฉ
|
804 |
}
|
805 |
|
806 |
deploy_response = requests.post(deploy_url, headers=headers, json=deploy_data)
|
|
|
816 |
except Exception as e:
|
817 |
return f"๋ฐฐํฌ ์ค ์ค๋ฅ ๋ฐ์: {str(e)}"
|
818 |
|
|
|
819 |
|
820 |
# Demo ์ธ์คํด์ค ์์ฑ
|
821 |
demo_instance = Demo()
|