hiddifypanel 10.30.0.dev1__py3-none-any.whl → 10.30.0.dev2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
hiddifypanel/VERSION CHANGED
@@ -1 +1 @@
1
- 10.30.0.dev1
1
+ 10.30.0.dev2
hiddifypanel/VERSION.py CHANGED
@@ -1,3 +1,3 @@
1
- __version__='10.30.0.dev1'
1
+ __version__='10.30.0.dev2'
2
2
  from datetime import datetime
3
- __release_date__= datetime.strptime('2024-06-29','%Y-%m-%d')
3
+ __release_date__= datetime.strptime('2024-06-30','%Y-%m-%d')
hiddifypanel/base.py CHANGED
@@ -18,19 +18,19 @@ from loguru import logger
18
18
  from hiddifypanel.panel.init_db import init_db
19
19
 
20
20
 
21
- def init_logger():
22
- def dynamic_formatter(record) -> str:
23
- fmt = '<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>'
24
- if record['extra']:
25
- fmt += ' | <level>{extra}</level>'
26
- return fmt + '\n'
21
+ def logger_dynamic_formatter(record) -> str:
22
+ fmt = '<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>'
23
+ if record['extra']:
24
+ fmt += ' | <level>{extra}</level>'
25
+ return fmt + '\n'
27
26
 
27
+
28
+ def init_logger(app, cli):
28
29
  # configure logger
29
- from hiddifypanel.models import ConfigEnum, hconfig
30
30
  logger.remove()
31
- logger.add(sys.stderr, format=dynamic_formatter, level=hconfig(ConfigEnum.log_level),
31
+ logger.add(sys.stderr if cli else sys.stdout, format=logger_dynamic_formatter, level=app.config['STDOUT_LOG_LEVEL'],
32
32
  colorize=True, catch=True, enqueue=True, diagnose=False, backtrace=True)
33
- # logger.trace('Logger initiated :)')
33
+ logger.trace('Logger initiated :)')
34
34
 
35
35
 
36
36
  # TODO: refactor this function
@@ -87,12 +87,12 @@ def create_app(*args, cli=False, **config):
87
87
  v = True if v.lower() == "true" else (False if v.lower() == "false" else v)
88
88
 
89
89
  app.config[c] = v
90
-
90
+ init_logger(app, cli)
91
91
  hiddifypanel.database.init_app(app)
92
92
  with app.app_context():
93
93
  init_db()
94
-
95
- init_logger()
94
+ logger.add(app.config['HIDDIFY_CONFIG_PATH'] + "/log/system/panel.log", format=logger_dynamic_formatter, level=hconfig(ConfigEnum.log_level),
95
+ colorize=True, catch=True, enqueue=True, diagnose=False, backtrace=True)
96
96
 
97
97
  def get_locale():
98
98
  # Put your logic here. Application can store locale in
@@ -9,11 +9,7 @@ from hiddifypanel.models.child import Child, ChildMode
9
9
  from sqlalchemy import Column, String, Boolean, Enum, ForeignKey, Integer
10
10
  from strenum import StrEnum
11
11
  from sqlalchemy_serializer import SerializerMixin
12
-
13
-
14
- def error(st):
15
- from hiddifypanel.hutils.utils import error as err
16
- err(st)
12
+ from loguru import logger
17
13
 
18
14
 
19
15
  class BoolConfig(db.Model, SerializerMixin):
@@ -74,15 +70,15 @@ def hconfig(key: ConfigEnum, child_id: Optional[int] = None): # -> str | int |
74
70
  if bool_conf:
75
71
  value = bool_conf.value
76
72
  else:
77
- error(f'bool {key} not found ')
73
+ logger.warning(f'bool {key} not found ')
78
74
  else:
79
75
  str_conf = StrConfig.query.filter(StrConfig.key == key, StrConfig.child_id == child_id).first()
80
76
  if str_conf:
81
77
  value = str_conf.value
82
78
  else:
83
- error(f'str {key} not found ')
79
+ logger.warning(f'str {key} not found ')
84
80
  except BaseException:
85
- error(f'{key} error!')
81
+ logger.exception(f'{key} error!')
86
82
  raise
87
83
  if value != None:
88
84
  if key.type == int:
@@ -97,7 +93,6 @@ def set_hconfig(key: ConfigEnum, value: str | int | bool, child_id: int | None =
97
93
  if child_id is None:
98
94
  child_id = Child.current().id
99
95
 
100
- print(f"chainging .... {key}---{value}---{child_id}---{commit}")
101
96
  if key.type == int and value != None:
102
97
  int(value) # for testing int
103
98
 
@@ -127,7 +122,7 @@ def set_hconfig(key: ConfigEnum, value: str | int | bool, child_id: int | None =
127
122
  else:
128
123
  old_v = dbconf.value
129
124
  dbconf.value = value
130
- error(f"changing {key} from {old_v} to {value}")
125
+ logger.trace(f"changing {key} from {old_v} to {value}")
131
126
  Events.config_changed.notify(conf=dbconf, old_value=old_v)
132
127
 
133
128
  if child_id == 0 and key.hide_in_virtual_child:
@@ -171,11 +166,9 @@ def add_or_update_config(commit: bool = True, child_id: int | None = None, overr
171
166
  def bulk_register_configs(hconfigs, commit: bool = True, froce_child_unique_id: str | None = None, override_unique_id: bool = True):
172
167
  from hiddifypanel.panel import hiddify
173
168
  for conf in hconfigs:
174
- # print(conf)
175
169
  if conf['key'] == ConfigEnum.unique_id and not override_unique_id:
176
170
  continue
177
171
  child_id = hiddify.get_child(unique_id=froce_child_unique_id)
178
- # print(conf, child_id, conf.get('child_unique_id', None), override_child_unique_id)
179
172
  add_or_update_config(commit=False, child_id=child_id, **conf)
180
173
  if commit:
181
174
  db.session.commit()
@@ -13,7 +13,7 @@ from hiddifypanel.panel import hiddify
13
13
  from hiddifypanel.database import db, db_execute
14
14
  from flask import g
15
15
  from sqlalchemy import text
16
-
16
+ from loguru import logger
17
17
  MAX_DB_VERSION = 90
18
18
 
19
19
 
@@ -564,7 +564,6 @@ def add_config_if_not_exist(key: ConfigEnum, val: str | int, child_id: int | Non
564
564
  child_id = Child.current().id
565
565
 
566
566
  old_val = hconfig(key, child_id)
567
- hutils.utils.error(f'{key}, {val}, {child_id}, {old_val}')
568
567
  if old_val is None:
569
568
  set_hconfig(key, val)
570
569
 
@@ -583,7 +582,7 @@ def execute(query: str):
583
582
 
584
583
  db_execute(query)
585
584
  except BaseException as e:
586
- hutils.utils.error(e)
585
+ logger.debug(e)
587
586
  pass
588
587
 
589
588
 
@@ -599,7 +598,7 @@ def add_new_enum_values():
599
598
 
600
599
  # Get the existing values in the enum
601
600
  existing_values = [f'{e}' if isinstance(e, ConfigEnum) else e.value for e in enum_class]
602
- # print("existing_values--------------", existing_values)
601
+
603
602
  # Get the values in the enum column in the database
604
603
  # result = db.engine.execute(f"SELECT DISTINCT `{column_name}` FROM {table_name}")
605
604
  # db_values = {row[0] for row in result}
@@ -616,7 +615,7 @@ def add_new_enum_values():
616
615
  # Find the new values that need to be added to the enum column in the database
617
616
  new_values = set(existing_values) - set(db_values)
618
617
  old_values = set(db_values) - set(existing_values)
619
- # print('new_values-=-----------------', new_values)
618
+
620
619
  if len(new_values) == 0 and len(old_values) == 0:
621
620
  continue
622
621
 
@@ -642,14 +641,14 @@ def upgrade_database():
642
641
  if not os.path.isdir(backup_root) or len(os.listdir(backup_root)) == 0:
643
642
  if os.path.isfile(sqlite_db):
644
643
  os.rename(sqlite_db, sqlite_db + ".old")
645
- hutils.utils.error("no backup found...")
644
+ logger.info("no backup found...")
646
645
  return
647
646
  if os.path.isfile(sqlite_db):
648
- hutils.utils.error("Finding Old Version Database... importing configs from latest backup")
647
+ logger.info("Finding Old Version Database... importing configs from latest backup")
649
648
  newest_file = max([(f, os.path.getmtime(os.path.join(backup_root, f)))
650
649
  for f in os.listdir(backup_root) if os.path.isfile(os.path.join(backup_root, f))], key=lambda x: x[1])[0]
651
650
  with open(f'{backup_root}{newest_file}', 'r') as f:
652
- hutils.utils.error(f"importing configs from {newest_file}")
651
+ logger.info(f"importing configs from {newest_file}")
653
652
  json_data = json.load(f)
654
653
  hiddify.set_db_from_json(json_data,
655
654
  set_users=True,
@@ -667,7 +666,7 @@ def upgrade_database():
667
666
  os.rename(sqlite_db, sqlite_db + ".old")
668
667
  set_hconfig(ConfigEnum.db_version, db_version, commit=True)
669
668
 
670
- hutils.utils.error("Upgrading to the new dataset succuess.")
669
+ logger.info("Upgrading to the new dataset succuess.")
671
670
 
672
671
 
673
672
  def init_db():
@@ -700,7 +699,7 @@ def init_db():
700
699
  if not db_action or (start_version == 0 and ver == 10):
701
700
  continue
702
701
 
703
- hutils.utils.error(f"Updating db from version {db_version} for node {child.id}")
702
+ logger.info(f"Updating db from version {db_version} for node {child.id}")
704
703
 
705
704
  if ver < 70:
706
705
  if child.id != 0:
@@ -710,7 +709,7 @@ def init_db():
710
709
  db_action(child.id)
711
710
 
712
711
  Events.db_init_event.notify(db_version=db_version)
713
- hutils.utils.error(f"Updated successfuly db from version {db_version} to {ver}")
712
+ logger.info(f"Updated successfuly db from version {db_version} to {ver}")
714
713
 
715
714
  db_version = ver
716
715
  db.session.commit()
@@ -2414,13 +2414,13 @@ msgid "items"
2414
2414
  msgstr "items"
2415
2415
 
2416
2416
  msgid "lang.en"
2417
- msgstr "🇺🇸 English - Английский"
2417
+ msgstr "🇺🇸 English - انگلیسی"
2418
2418
 
2419
2419
  msgid "lang.fa"
2420
2420
  msgstr "🇮🇷 Persian - فارسی"
2421
2421
 
2422
2422
  msgid "lang.pt"
2423
- msgstr "🇵🇹 Portuguese - پرتغالی"
2423
+ msgstr "🇵🇹 Portuguese"
2424
2424
 
2425
2425
  msgid "lang.ru"
2426
2426
  msgstr "🇷🇺 Russian - Русский"
@@ -1036,9 +1036,9 @@
1036
1036
  "ios": "iOS",
1037
1037
  "items": "items",
1038
1038
  "lang": {
1039
- "en": "🇺🇸 English - Английский",
1039
+ "en": "🇺🇸 English - انگلیسی",
1040
1040
  "fa": "🇮🇷 Persian - فارسی",
1041
- "pt": "🇵🇹 Portuguese - پرتغالی",
1041
+ "pt": "🇵🇹 Portuguese",
1042
1042
  "ru": "🇷🇺 Russian - Русский",
1043
1043
  "zh": "🇨🇳 Chinese - 简体中文"
1044
1044
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hiddifypanel
3
- Version: 10.30.0.dev1
3
+ Version: 10.30.0.dev2
4
4
  Summary: hiddifypanel multi proxy panel
5
5
  Home-page: https://github.com/hiddify/hiddify-manager/
6
6
  Author: hiddify
@@ -1,10 +1,10 @@
1
1
  hiddifypanel/Events.py,sha256=AlnRdjVul0jP-NCT4-zoaQgowoOo-JhdQB4ytetAFKA,723
2
- hiddifypanel/VERSION,sha256=RPMmz10GytpfDTOS7Eo1JdhE5YEJXjE7XI849wFsw-U,13
3
- hiddifypanel/VERSION.py,sha256=t3LDoCq0Q-4w5owfE9IuLZnVv-K_yIA0cPk4OgKIr7c,118
2
+ hiddifypanel/VERSION,sha256=XtMr0Vg7zjwygAHtbUcwUPAbYX6S81F0D-mItBSFQxY,13
3
+ hiddifypanel/VERSION.py,sha256=UvSZ_NsijIVX1fFN3ezKJaC1v7wcCrunwmcA6Ci2-HM,118
4
4
  hiddifypanel/__init__.py,sha256=aLukp3ORszdcH4G9J-MlxhjHN6yFlOuOE6mm-L3aG_g,266
5
5
  hiddifypanel/__main__.py,sha256=IVchnXpK6bm8T3N--mN17HBQNLMeLAjyP7iwzULexB4,218
6
6
  hiddifypanel/auth.py,sha256=5GUwwKCRY90RS0WTKPfqzuOYuLuwGLpNLpnKmubf7DE,7405
7
- hiddifypanel/base.py,sha256=MrOtA0mfPR5E-oGodUS-USfy9bpBkUWF9CZ7Mri8xFI,5626
7
+ hiddifypanel/base.py,sha256=uip2LpfS2KhkW31jNSHPbZ5qxbhwzhJiY7U8WNNrFdQ,5839
8
8
  hiddifypanel/cache.py,sha256=6snErbx9rD6XSC2fO79XZy3EGMJoZB-yhnAMEWTPWAg,880
9
9
  hiddifypanel/database.py,sha256=14sfbGEG-NCqkfUtyLvcO2JbkQ3-Fzs-MezPNkNbvgk,717
10
10
  hiddifypanel/drivers/abstract_driver.py,sha256=HpWkgbWVWF8n3WhDe0BlxsIF1WTWO57AQEAEb2ZVCPM,223
@@ -45,7 +45,7 @@ hiddifypanel/models/__init__.py,sha256=PngFjQL9WvQP4EioNHRz1tTeyIgLoNvZ7WpmAhwKH
45
45
  hiddifypanel/models/admin.py,sha256=shNbmaG1i79apfk7KCNr1Qwy_3UQFaTgG2j1wGNs_7g,7269
46
46
  hiddifypanel/models/base_account.py,sha256=xx1oO5OKtBPq4eaW9DgSgp3rOHfEOMkV0YpGT7wsoAM,3127
47
47
  hiddifypanel/models/child.py,sha256=ZFJaH-GWTKAGD0BGMH0iKEMipi37_cAk59OeJKt2IKA,3039
48
- hiddifypanel/models/config.py,sha256=68I_QrbVhnFDCsIVw66cpdRnqt18EruJdANljfVMlaM,6579
48
+ hiddifypanel/models/config.py,sha256=-KKYqMkSEn2DabRxqBogSyA6xOU4ons6sa5CxxHAlAk,6373
49
49
  hiddifypanel/models/config_enum.py,sha256=iqPuwirmyMcQi20UBI-EngTPpn82ryC9kpsYWvGpXR4,15366
50
50
  hiddifypanel/models/domain.py,sha256=kpiyN7-HeDgKSPXia6fMgox5Onefg5FDjxxRkmAil5A,8017
51
51
  hiddifypanel/models/parent_domain.py,sha256=bs5F1neOAQu9XHEk3QQTBM4p2iuebM4cnAQqwfNjCtg,2291
@@ -63,7 +63,7 @@ hiddifypanel/panel/cli.py,sha256=-5giHEvYaaSz2yhH2HX16kUocnbLR0FwyfvjHoS7yq4,100
63
63
  hiddifypanel/panel/common.py,sha256=3jMmdoMk-qvdT8mSmIXEBh9y54P81EsWUKmGeK9qQKg,7593
64
64
  hiddifypanel/panel/custom_widgets.py,sha256=9qI_fNX8NKqB1r8ljgcaisGZaDM89_PM_rOBZbGaTYs,2506
65
65
  hiddifypanel/panel/hiddify.py,sha256=lr8k5mOymeNPIhBwBbRUcWObaNVoCDdjI-hprZOOcCc,14028
66
- hiddifypanel/panel/init_db.py,sha256=ULnm26ngb6PPPX5iqNAC-QbdwA5E_3lHDliWWibP1M4,33602
66
+ hiddifypanel/panel/init_db.py,sha256=6VyWuJo-2JE_Eh39KM2pKmHWCZ97NxfgoEkro6QKZj0,33391
67
67
  hiddifypanel/panel/run_commander.py,sha256=D9y-My0xSe2adHWXKV5UPYGl-9WwKURzniq55MRu6tE,3259
68
68
  hiddifypanel/panel/usage.py,sha256=E7-kbqszFZjlmmLrjopVn-fqiidobe3HdBYdopPbRAs,5715
69
69
  hiddifypanel/panel/admin/Actions.py,sha256=D9Gc_Pl3llMbu3S9FZUCEfT8fRwihsVFG8IyuO-dEqw,8762
@@ -821,24 +821,24 @@ hiddifypanel/templates/redirect.html,sha256=K9x_O4P96vEkqBhOXIhoGrWw1KIqd2bL0BjI
821
821
  hiddifypanel/templates/static.html,sha256=jp6q4wtx-k2A_cjqJoNiMS7Ee30arE45qI3ev4d5ky4,165
822
822
  hiddifypanel/templates/hiddify-flask-admin/actions.html,sha256=2NeITe2e-lPKCk_o511tCIqVtrPu8LYHE1wTCtrFUrI,1331
823
823
  hiddifypanel/templates/hiddify-flask-admin/list.html,sha256=MBGrTqZpzNLe4sZy0RozvXNr8seFUQc2C6v88BJtNWc,11095
824
- hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=IVOjWoKapKMrpjLCB2CyDrjfd4KsVQL6OoTNsGpN69w,76462
825
- hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=XH-o-WUNGrfLlDONFi7NAZU6uJVg_LOQbwnM2KHj9XQ,79701
826
- hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=F_GqGDTB0PChY93xm7YQQ9PbfukjNYAPaPK9yF61vcE,96451
824
+ hiddifypanel/translations/en/LC_MESSAGES/messages.mo,sha256=8CYmJ3sv061bnxLtqPothEu-WBQ5f9pJXh4_qVx-3nY,76439
825
+ hiddifypanel/translations/en/LC_MESSAGES/messages.po,sha256=OlKaiP7MYYeOomSJgo6sFSFRu3byBKvcxHg-uPEqpa4,79678
826
+ hiddifypanel/translations/fa/LC_MESSAGES/messages.mo,sha256=JbFpUypalPbBYBStQjcPat66qhXmwZKo-D6B54cC9wE,96451
827
827
  hiddifypanel/translations/fa/LC_MESSAGES/messages.po,sha256=8-KfPE3elLTi9jyX4mUa2zQTuwp_WA3HNkEEDdTMons,102102
828
- hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=ljVuX237eyU-eWxkBTSaUYzZAjWQy7eTGHBaS0D7TJg,60458
828
+ hiddifypanel/translations/pt/LC_MESSAGES/messages.mo,sha256=VxSgXV-yG9C0PRGp_oHPn2IoDNjjOwsUhQoBa-BOP4k,60458
829
829
  hiddifypanel/translations/pt/LC_MESSAGES/messages.po,sha256=PFVBTvQAKL4acU49xqf9G3z8WfypqBXzkHWmFb2Kmtc,70932
830
- hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=HlbtjiwCb2cVfATRKHw7xzZdfqVp9itYLb8KF-TC_pA,99878
830
+ hiddifypanel/translations/ru/LC_MESSAGES/messages.mo,sha256=D_haLHKXM4M_bKM9VCg4r4fXdnJ1wnwOGUqruq55s84,99878
831
831
  hiddifypanel/translations/ru/LC_MESSAGES/messages.po,sha256=uNNQ_jmPykCDIx13hQ3thDaur6XQ7N9lfukF3G_XEeA,106517
832
- hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=buRlOVh6VIbWn1NDY_01DyQ3hqf0oULAz3ybHfo5IIk,60737
832
+ hiddifypanel/translations/zh/LC_MESSAGES/messages.mo,sha256=JadP1yV5u2Nx3YOpzuZjebsvkS8o8rxA4p8RehGctJU,60737
833
833
  hiddifypanel/translations/zh/LC_MESSAGES/messages.po,sha256=_8pIQz7C8NtdOyEXxHT6pA7f5_W3Qotiz0Y2UJIc-sY,70116
834
- hiddifypanel/translations.i18n/en.json,sha256=wFHEoqtJkpv8qXIv7KCb5lhD89tmeNkca5CiUY6ivkg,69360
834
+ hiddifypanel/translations.i18n/en.json,sha256=buYpaRx6aZZprYTSXVFuXTrcXo6SOfMHqS-VdqpHwU4,69337
835
835
  hiddifypanel/translations.i18n/fa.json,sha256=GsO1skyWExqBh56gO1SoI-Ab05Uh8NMPJoic1EFcFfQ,91749
836
836
  hiddifypanel/translations.i18n/pt.json,sha256=69muFjHkp60DDBt83mblENOF3_9Nr1ti13kE2wBH7ng,60927
837
837
  hiddifypanel/translations.i18n/ru.json,sha256=LT8A1eZOI0RIE4VW-aGS9rHQcSextutMIQNgsSwSFQY,96113
838
838
  hiddifypanel/translations.i18n/zh.json,sha256=xw9BJHGFbjgqA8dwl4fBCc0BZ9aopwzPtPkljpVJ9Fk,60357
839
- hiddifypanel-10.30.0.dev1.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
840
- hiddifypanel-10.30.0.dev1.dist-info/METADATA,sha256=4L65g7wv3JYbuqyXFHHprpUZ1k-0_7xbpxpdkvspSC0,4044
841
- hiddifypanel-10.30.0.dev1.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
842
- hiddifypanel-10.30.0.dev1.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
843
- hiddifypanel-10.30.0.dev1.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
844
- hiddifypanel-10.30.0.dev1.dist-info/RECORD,,
839
+ hiddifypanel-10.30.0.dev2.dist-info/LICENSE.md,sha256=oDrt-cUsyiDGnRPjEJh-3dH2ddAuK_bIVBD8ntkOtZw,19807
840
+ hiddifypanel-10.30.0.dev2.dist-info/METADATA,sha256=BDhlflL7GWUDAWK5XlvJdnPGkWhW__mQo2TmTieUCGo,4044
841
+ hiddifypanel-10.30.0.dev2.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
842
+ hiddifypanel-10.30.0.dev2.dist-info/entry_points.txt,sha256=Xzpqlh3nwBtZhoV9AANJykano056VJvYzaujxPztJaM,60
843
+ hiddifypanel-10.30.0.dev2.dist-info/top_level.txt,sha256=rv-b3qFWUZQTBy0kyBfsr7L6tPpeO7AaQlLHXn-HI5M,13
844
+ hiddifypanel-10.30.0.dev2.dist-info/RECORD,,