Skip to content

Commit

Permalink
fix circular imports
Browse files Browse the repository at this point in the history
  • Loading branch information
Kunsi committed Dec 19, 2024
1 parent bf73085 commit 3abd368
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 57 deletions.
2 changes: 1 addition & 1 deletion frontend.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@

from conf import CONFIG
from helper import (
State,
admin_required,
error,
get_all_live_assets,
Expand All @@ -41,6 +40,7 @@
user_without_limits,
)
from ib_hosted import get_scoped_api_key, ib, update_asset_userdata
from model import State
from notifier import Notifier
from redis_session import RedisSessionStore

Expand Down
54 changes: 1 addition & 53 deletions helper.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
import enum
import os
import random
import shutil
import tempfile
from datetime import datetime
from functools import wraps
from typing import NamedTuple, Optional

import requests
from flask import abort, current_app, g, jsonify, redirect, request, session, url_for

from conf import CONFIG
from ib_hosted import ib
from model import State, Asset


def error(msg):
Expand Down Expand Up @@ -50,57 +49,6 @@ def decorated_function(*args, **kwargs):
return decorated_function


class State(enum.StrEnum):
NEW = "new"
CONFIRMED = "confirmed"
REJECTED = "rejected"
DELETED = "deleted"
REVIEW = "review"


class Asset(NamedTuple):
id: str
filetype: str
thumb: str
state: State
user: str
starts: Optional[int] = None
ends: Optional[int] = None
moderate_url: Optional[str] = None
moderated_by: Optional[str] = None

def to_dict(self, mod_data=False):
return {
"id": self.id,
"user": self.user,
"filetype": self.filetype,
"thumb": self.thumb,
"url": self.url,
} | (
{
"moderate_url": self.moderate_url,
"moderated_by": self.moderated_by,
"state": self.state,
"starts": self.starts,
"ends": self.ends,
}
if mod_data
else {}
)

@property
def external_url(self):
return url_for("static", filename=cached_asset_name(self), _external=True)

@property
def moderate_url(self):
return url_for("content_moderate", asset_id=self.id, _external=True)

@property
def url(self):
return url_for("static", filename=cached_asset_name(self))


def to_int(num):
return (
num
Expand Down
3 changes: 1 addition & 2 deletions ib_hosted.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from requests import Session

from conf import CONFIG
from helper import State


class IBHosted:
Expand Down Expand Up @@ -66,7 +65,7 @@ def update_asset_userdata(asset, **kw):
userdata=json_dumps(
{
"user": asset.user,
"state": getattr(State, asset.state),
"state": sset.state,
"starts": asset.starts,
"ends": asset.ends,
"moderated_by": asset.moderated_by,
Expand Down
53 changes: 53 additions & 0 deletions model.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import enum
from typing import NamedTuple, Optional


class State(enum.StrEnum):
NEW = "new"
CONFIRMED = "confirmed"
REJECTED = "rejected"
DELETED = "deleted"
REVIEW = "review"


class Asset(NamedTuple):
id: str
filetype: str
thumb: str
state: State
user: str
starts: Optional[int] = None
ends: Optional[int] = None
moderate_url: Optional[str] = None
moderated_by: Optional[str] = None

def to_dict(self, mod_data=False):
return {
"id": self.id,
"user": self.user,
"filetype": self.filetype,
"thumb": self.thumb,
"url": self.url,
} | (
{
"moderate_url": self.moderate_url,
"moderated_by": self.moderated_by,
"state": self.state,
"starts": self.starts,
"ends": self.ends,
}
if mod_data
else {}
)

@property
def external_url(self):
return url_for("static", filename=cached_asset_name(self), _external=True)

@property
def moderate_url(self):
return url_for("content_moderate", asset_id=self.id, _external=True)

@property
def url(self):
return url_for("static", filename=cached_asset_name(self))
3 changes: 2 additions & 1 deletion syncer.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
from logging import getLogger

from conf import CONFIG
from helper import Asset, State, get_all_live_assets, get_assets, user_is_admin
from helper import get_all_live_assets, get_assets, user_is_admin
from ib_hosted import ib
from model import Asset, State
from notifier import Notifier

FADE_TIME = 0.5
Expand Down

0 comments on commit 3abd368

Please sign in to comment.