meerschaum 2.9.2__py3-none-any.whl → 2.9.3__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.
@@ -2,4 +2,4 @@
2
2
  Specify the Meerschaum release version.
3
3
  """
4
4
 
5
- __version__ = "2.9.2"
5
+ __version__ = "2.9.3"
@@ -1089,32 +1089,59 @@ class Daemon:
1089
1089
  """Write the properties dictionary to the properties JSON file
1090
1090
  (only if self.properties exists).
1091
1091
  """
1092
+ from meerschaum.utils.misc import generate_password
1092
1093
  success, msg = (
1093
1094
  False,
1094
1095
  f"No properties to write for daemon '{self.daemon_id}'."
1095
1096
  )
1096
- if self.properties is not None:
1097
+ backup_path = self.properties_path.parent / (generate_password(8) + '.json')
1098
+ props = self.properties
1099
+ if props is not None:
1097
1100
  try:
1098
1101
  self.path.mkdir(parents=True, exist_ok=True)
1102
+ if self.properties_path.exists():
1103
+ self.properties_path.rename(backup_path)
1099
1104
  with open(self.properties_path, 'w+', encoding='utf-8') as properties_file:
1100
- json.dump(self.properties, properties_file)
1105
+ json.dump(props, properties_file)
1101
1106
  success, msg = True, 'Success'
1102
1107
  except Exception as e:
1103
1108
  success, msg = False, str(e)
1109
+
1110
+ try:
1111
+ if backup_path.exists():
1112
+ if not success:
1113
+ backup_path.rename(self.properties_path)
1114
+ else:
1115
+ backup_path.unlink()
1116
+ except Exception as e:
1117
+ success, msg = False, str(e)
1118
+
1104
1119
  return success, msg
1105
1120
 
1106
1121
  def write_pickle(self) -> SuccessTuple:
1107
1122
  """Write the pickle file for the daemon."""
1108
1123
  import pickle
1109
1124
  import traceback
1125
+ from meerschaum.utils.misc import generate_password
1126
+ backup_path = self.pickle_path.parent / (generate_password(7) + '.pkl')
1110
1127
  try:
1111
1128
  self.path.mkdir(parents=True, exist_ok=True)
1129
+ if self.pickle_path.exists():
1130
+ self.pickle_path.rename(backup_path)
1112
1131
  with open(self.pickle_path, 'wb+') as pickle_file:
1113
1132
  pickle.dump(self, pickle_file)
1114
1133
  success, msg = True, "Success"
1115
1134
  except Exception as e:
1116
1135
  success, msg = False, str(e)
1117
1136
  traceback.print_exception(type(e), e, e.__traceback__)
1137
+ try:
1138
+ if backup_path.exists():
1139
+ if not success:
1140
+ backup_path.rename(self.pickle_path)
1141
+ else:
1142
+ backup_path.unlink()
1143
+ except Exception as e:
1144
+ success, msg = False, str(e)
1118
1145
  return success, msg
1119
1146
 
1120
1147
 
meerschaum/utils/sql.py CHANGED
@@ -460,11 +460,11 @@ columns_indices_queries = {
460
460
  }
461
461
  reset_autoincrement_queries: Dict[str, Union[str, List[str]]] = {
462
462
  'default': """
463
- SELECT SETVAL(pg_get_serial_sequence('{table}', '{column}'), {val})
463
+ SELECT SETVAL(pg_get_serial_sequence('{table_name}', '{column}'), {val})
464
464
  FROM {table_name}
465
465
  """,
466
466
  'mssql': """
467
- DBCC CHECKIDENT ('{table}', RESEED, {val})
467
+ DBCC CHECKIDENT ('{table_name}', RESEED, {val})
468
468
  """,
469
469
  'mysql': """
470
470
  ALTER TABLE {table_name} AUTO_INCREMENT = {val}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meerschaum
3
- Version: 2.9.2
3
+ Version: 2.9.3
4
4
  Summary: Sync Time-Series Pipes with Meerschaum
5
5
  Home-page: https://meerschaum.io
6
6
  Author: Bennett Meares
@@ -145,7 +145,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
145
145
  meerschaum/config/_read_config.py,sha256=RLC3HHi_1ndj7ITVDKLD9_uULY3caGRwSz3ATYE-ixA,15014
146
146
  meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
147
147
  meerschaum/config/_sync.py,sha256=jHcWRkxd82_BgX8Xo8agsWvf7BSbv3qHLWmYl6ehp_0,4242
148
- meerschaum/config/_version.py,sha256=IsNhoHfdCmZpo3XxQo3K-ny9DYKuE8viAyCDbZGWxDs,71
148
+ meerschaum/config/_version.py,sha256=x0qf-jX0gwBXr4oSS2gyCHl8k5-OSLieteuR3-wSrJ4,71
149
149
  meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
150
150
  meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  meerschaum/config/stack/__init__.py,sha256=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
@@ -231,12 +231,12 @@ meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
231
231
  meerschaum/utils/process.py,sha256=as0-CjG4mqFP0TydVvmAmgki6er4thS5BqUopeiq98Q,8216
232
232
  meerschaum/utils/prompt.py,sha256=qj1As1tuiL0GZTku_YOC6I5DmOU6L5otDR7DW7LA5fM,19397
233
233
  meerschaum/utils/schedule.py,sha256=Vrcd2Qs-UPVn6xBayNUIgludf0Mlb6Wrgq6ATdyhV8c,11451
234
- meerschaum/utils/sql.py,sha256=py9PtVyuC1NO2WTcpMiP_ZBkOofLnkGJ5NGrHBIVfBo,84584
234
+ meerschaum/utils/sql.py,sha256=xtGDI7QVgcHoBP7Uik-VGtDEE0DRusDCM1ChLbjU0wo,84594
235
235
  meerschaum/utils/threading.py,sha256=awjbVL_QR6G-o_9Qk85utac9cSdqkiC8tQSdERCdrG8,2814
236
236
  meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
237
237
  meerschaum/utils/warnings.py,sha256=n-phr3BftNNgyPnvnXC_VMSjtCvjiCZ-ewmVfcROhkc,6611
238
238
  meerschaum/utils/yaml.py,sha256=PoC1du0pn2hLwTHwL-zuOf_EBWZSbCGOz-P-AZ4BWN0,3901
239
- meerschaum/utils/daemon/Daemon.py,sha256=P1JeXROC-321OzjtuisU0tW2ONJp2kI7Hdu_Q85B1cA,43406
239
+ meerschaum/utils/daemon/Daemon.py,sha256=XpQbvKrLVQNp5q4AKWRQIdGQH0WTNYWUzZWzhrryxBY,44463
240
240
  meerschaum/utils/daemon/FileDescriptorInterceptor.py,sha256=MJKMO0Syf3d8yWUs6xXcQzg8Ptsuvh2aCRRoglOjusA,5257
241
241
  meerschaum/utils/daemon/RotatingFile.py,sha256=8_bXegBjjzNRlNEjFZ_EHU4pSaDfjXZTwO9F9kbAU1I,24337
242
242
  meerschaum/utils/daemon/StdinFile.py,sha256=qdZ8E_RSOkURypwnS50mWeyWyRig1bAY9tKWMTVKajc,3307
@@ -254,11 +254,11 @@ meerschaum/utils/packages/_packages.py,sha256=G3eMtqq4WJo_iTC4ctRAWkzKhN6ZQcdFRp
254
254
  meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
255
255
  meerschaum/utils/venv/_Venv.py,sha256=gc1TCeAj-kTZbQFAT9xl1bi4HXFV5ApT0dPOJfxwr78,3748
256
256
  meerschaum/utils/venv/__init__.py,sha256=RhWuDohBEROIu_9T6BNPgYCrGtuE14w7nXHR1E2qyh8,27321
257
- meerschaum-2.9.2.dist-info/licenses/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
258
- meerschaum-2.9.2.dist-info/licenses/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
259
- meerschaum-2.9.2.dist-info/METADATA,sha256=iIB9Mvn5MVfTZWCZDaMbjdcYLfxOxJuf1s8nNzKXTOk,25145
260
- meerschaum-2.9.2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
261
- meerschaum-2.9.2.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
262
- meerschaum-2.9.2.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
263
- meerschaum-2.9.2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
264
- meerschaum-2.9.2.dist-info/RECORD,,
257
+ meerschaum-2.9.3.dist-info/licenses/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
258
+ meerschaum-2.9.3.dist-info/licenses/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
259
+ meerschaum-2.9.3.dist-info/METADATA,sha256=Rc97zhQUMPS3dUd08weX34QsnU4Jxpvpp9KXuvMrEuE,25145
260
+ meerschaum-2.9.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
261
+ meerschaum-2.9.3.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
262
+ meerschaum-2.9.3.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
263
+ meerschaum-2.9.3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
264
+ meerschaum-2.9.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.3)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5