Spaces:
Running
Running
File size: 5,199 Bytes
f68fedc 918b834 8e8f958 6ba401f 8e8f958 b7f059f de1f576 85550bb d5481c1 8e8f958 bb4c477 8e8f958 de1f576 8e8f958 b48a05e 8e8f958 b4fc378 d9557cb 8e8f958 b7f059f 918b834 6ba401f 918b834 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
from __future__ import annotations
import gradio as gr
import os
import subprocess
from typing import Iterable
from gradio.themes.base import Base
from gradio.themes.utils import colors, fonts, sizes
class Monochrome(Base):
def __init__(
self,
*,
primary_hue: colors.Color | str = colors.neutral,
secondary_hue: colors.Color | str = colors.neutral,
neutral_hue: colors.Color | str = colors.neutral,
spacing_size: sizes.Size | str = sizes.spacing_lg,
radius_size: sizes.Size | str = sizes.radius_none,
text_size: sizes.Size | str = sizes.text_md,
font: fonts.Font | str | Iterable[fonts.Font | str] = (
fonts.GoogleFont("Quicksand"),
"ui-sans-serif",
"system-ui",
"sans-serif",
),
font_mono: fonts.Font | str | Iterable[fonts.Font | str] = (
fonts.GoogleFont("IBM Plex Mono"),
"ui-monospace",
"Consolas",
"monospace",
),
):
super().__init__(
primary_hue=primary_hue,
secondary_hue=secondary_hue,
neutral_hue=neutral_hue,
spacing_size=spacing_size,
radius_size=radius_size,
text_size=text_size,
font=font,
font_mono=font_mono,
)
self.name = "monochrome"
super().set(
# Colors
slider_color="*neutral_900",
slider_color_dark="*neutral_500",
accordion_text_color="*body_text_color",
accordion_text_color_dark="*body_text_color",
table_text_color="*body_text_color",
table_text_color_dark="*body_text_color",
body_text_color="*neutral_900",
block_label_text_color="*body_text_color",
block_title_text_color="*body_text_color",
body_text_color_subdued="*neutral_700",
background_fill_primary_dark="*neutral_900",
background_fill_secondary_dark="*neutral_800",
block_background_fill_dark="*neutral_800",
input_background_fill_dark="*neutral_700",
# Button Colors
button_primary_background_fill="*neutral_900",
button_primary_background_fill_hover="*neutral_700",
button_primary_text_color="white",
button_primary_background_fill_dark="*neutral_600",
button_primary_background_fill_hover_dark="*neutral_600",
button_primary_text_color_dark="white",
button_secondary_background_fill="*button_primary_background_fill",
button_secondary_background_fill_hover="*button_primary_background_fill_hover",
button_secondary_text_color="*button_primary_text_color",
button_cancel_background_fill="*button_primary_background_fill",
button_cancel_background_fill_hover="*button_primary_background_fill_hover",
button_cancel_text_color="*button_primary_text_color",
checkbox_label_background_fill="*button_primary_background_fill",
checkbox_label_background_fill_hover="*button_primary_background_fill_hover",
checkbox_label_text_color="*button_primary_text_color",
checkbox_background_color_selected="*neutral_600",
checkbox_background_color_dark="*neutral_700",
checkbox_background_color_selected_dark="*neutral_700",
checkbox_border_color_selected_dark="*neutral_800",
# Padding
checkbox_label_padding="*spacing_md",
button_large_padding="*spacing_lg",
button_small_padding="*spacing_sm",
# Borders
block_border_width="0px",
block_border_width_dark="1px",
shadow_drop_lg="0 1px 4px 0 rgb(0 0 0 / 0.1)",
block_shadow="*shadow_drop_lg",
block_shadow_dark="none",
# Block Labels
block_title_text_weight="600",
block_label_text_weight="600",
block_label_text_size="*text_md",
)
folder_path = 'src/Server'
file_name = 'main.cs'
file_path = os.path.join(folder_path, file_name)
os.makedirs(folder_path, exist_ok=True)
open('roblox-cs.yml', 'w').write("""SourceFolder: src
OutputFolder: dist
EmitNativeAttributeOnClassOrNamespaceCallbacks: true
EnabledBuiltInTransformers:
- Debug
CSharpOptions:
EntryPointRequired: false
EntryPointName: Game
MainMethodName: Main
AssemblyName: ExampleProject""")
def compile(cs):
# Create file
with open(file_path, 'w') as file:
file.write(cs)
# Run command
try:
result = subprocess.run(
['./dotnet/dotnet', 'run', '--project roblox-cs-master/RobloxCS/RobloxCS.csproj'],
capture_output=True,
text=True,
check=True
)
except subprocess.CalledProcessError as e:
gr.Error(f"{e.stderr}")
except:
gr.Error("Unknown error!")
# Read
with open('out/Server/main.lua', 'r') as file:
content = file.read()
return content
demo = gr.Interface(fn=compile, inputs="text", outputs="text", theme=Monochrome())
demo.launch()
|