Skip to content

Commit

Permalink
chore: use context manager for opening files, refactor #2193
Browse files Browse the repository at this point in the history
  • Loading branch information
marek-mihok committed Jan 9, 2024
1 parent d3ef4d6 commit 3878785
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions studio/studio.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,12 @@ async def export(q: Q):


def get_package_dialog_items():
file = open('project/requirements.txt', 'r') if os.path.exists('project/requirements.txt') else None
packages_installed = os.stat("project/requirements.txt").st_size > 0 if file else False
packages_installed = []
if os.path.exists('project/requirements.txt'):
with open('project/requirements.txt', 'r') as file:
for line in file.readlines():
package_name, package_version = line.strip().split('==')
packages_installed.append((package_name, package_version))
return [
ui.text_l('Installed packages'),
ui.inline(
Expand All @@ -258,8 +262,7 @@ def get_package_dialog_items():
ui.textbox(name='package_name', value=package_name, readonly=True),
ui.textbox(name='package_version', value=package_version, readonly=True),
ui.button('remove_package', label='Remove', value=package_name),
]) for package_name, package_version in
[package.removesuffix('\n').split('==') for package in file.readlines()]
]) for package_name, package_version in packages_installed
],
) if packages_installed else ui.text(name='no_packages', content='No packages installed.'),
ui.inline(
Expand All @@ -269,7 +272,7 @@ def get_package_dialog_items():
items=[ui.buttons(items=[
ui.button(name='show_add_package_fields', label='Add package', icon='Add', primary=True, width='200px'),
ui.button(name='show_add_requirements', label='Add from requirements', icon='AddToShoppingList',
width='200px')
width='200px')
], justify='center')]
),
]
Expand Down Expand Up @@ -465,9 +468,7 @@ async def serve(q: Q):
editor.update_file_tree(q, project.dir)
await q.page.save()
editor.open_file(q, project.entry_point)
requirements_file = open('project/requirements.txt', 'r') if os.path.exists(
'project/requirements.txt') else None
if requirements_file:
if os.path.exists('project/requirements.txt'):
await show_packages_dialog(q)
q.client.task = asyncio.create_task(pip(
q,
Expand Down

0 comments on commit 3878785

Please sign in to comment.