proxsync 2.0.6__tar.gz → 2.0.7__tar.gz

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.
Files changed (73) hide show
  1. {proxsync-2.0.6/proxsync.egg-info → proxsync-2.0.7}/PKG-INFO +1 -1
  2. {proxsync-2.0.6 → proxsync-2.0.7/proxsync.egg-info}/PKG-INFO +1 -1
  3. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync.py +5 -5
  4. {proxsync-2.0.6 → proxsync-2.0.7}/pyproject.toml +1 -1
  5. {proxsync-2.0.6 → proxsync-2.0.7}/state_db.py +1 -1
  6. {proxsync-2.0.6 → proxsync-2.0.7}/MANIFEST.in +0 -0
  7. {proxsync-2.0.6 → proxsync-2.0.7}/README.md +0 -0
  8. {proxsync-2.0.6 → proxsync-2.0.7}/config.py +0 -0
  9. {proxsync-2.0.6 → proxsync-2.0.7}/pbs_sync.py +0 -0
  10. {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/SOURCES.txt +0 -0
  11. {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/dependency_links.txt +0 -0
  12. {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/requires.txt +0 -0
  13. {proxsync-2.0.6 → proxsync-2.0.7}/proxsync.egg-info/top_level.txt +0 -0
  14. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/__init__.py +0 -0
  15. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/__init__.py +0 -0
  16. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/serializers.py +0 -0
  17. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/urls.py +0 -0
  18. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/api/views.py +0 -0
  19. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/apps.py +0 -0
  20. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/choices.py +0 -0
  21. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/filtersets.py +0 -0
  22. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/forms.py +0 -0
  23. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/__init__.py +0 -0
  24. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/__init__.py +0 -0
  25. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/pve_sync.py +0 -0
  26. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/management/commands/run_scheduled_syncs.py +0 -0
  27. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0001_initial.py +0 -0
  28. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0002_pvepluginsettings.py +0 -0
  29. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0003_netboxmodel_timestamps.py +0 -0
  30. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0004_model_verbose_names.py +0 -0
  31. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0005_align_netboxmodel_timestamps.py +0 -0
  32. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0006_pbsserverconfig_and_more.py +0 -0
  33. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0007_rename_verbose_names_to_proxmox_sync.py +0 -0
  34. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0008_pbsserverconfig_sync_schedule.py +0 -0
  35. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0009_add_every_3h_schedule.py +0 -0
  36. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0010_pvedriftevent.py +0 -0
  37. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0011_pveclusterconfig_notify_on_sync.py +0 -0
  38. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0012_pvedriftevent_tags_and_index_renames.py +0 -0
  39. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0013_pluginsettings_log_retention.py +0 -0
  40. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0014_vmprovisioninglog.py +0 -0
  41. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0015_pvevmtasklog.py +0 -0
  42. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/0016_pvevmtasklog_status_textfield.py +0 -0
  43. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/migrations/__init__.py +0 -0
  44. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/models.py +0 -0
  45. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/navigation.py +0 -0
  46. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/signals.py +0 -0
  47. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/sync/__init__.py +0 -0
  48. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/sync/config_bridge.py +0 -0
  49. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/sync/engine.py +0 -0
  50. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/tables.py +0 -0
  51. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/tasks.py +0 -0
  52. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/template_content.py +0 -0
  53. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/dashboard.html +0 -0
  54. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/inc/vm_sync_button.html +0 -0
  55. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/inc/vm_task_log_panel.html +0 -0
  56. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pbsserverconfig.html +0 -0
  57. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvebackupstatus.html +0 -0
  58. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pveclusterconfig.html +0 -0
  59. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvedriftevent.html +0 -0
  60. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvesyncjob.html +0 -0
  61. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvevmtasklog_list.html +0 -0
  62. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/pvewebhookevent.html +0 -0
  63. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/settings.html +0 -0
  64. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/vm_provisioning_combined.html +0 -0
  65. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templates/pve_sync/vm_provisioning_log.html +0 -0
  66. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templatetags/__init__.py +0 -0
  67. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/templatetags/pve_sync_tags.py +0 -0
  68. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/urls.py +0 -0
  69. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/utils.py +0 -0
  70. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/view_helpers.py +0 -0
  71. {proxsync-2.0.6 → proxsync-2.0.7}/pve_sync_plugin/views.py +0 -0
  72. {proxsync-2.0.6 → proxsync-2.0.7}/setup.cfg +0 -0
  73. {proxsync-2.0.6 → proxsync-2.0.7}/tests/test_plugin_contracts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proxsync
3
- Version: 2.0.6
3
+ Version: 2.0.7
4
4
  Summary: NetBox plugin for Proxmox VE inventory synchronization
5
5
  Author-email: lixiujie85 <lixiujie85@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proxsync
3
- Version: 2.0.6
3
+ Version: 2.0.7
4
4
  Summary: NetBox plugin for Proxmox VE inventory synchronization
5
5
  Author-email: lixiujie85 <lixiujie85@gmail.com>
6
6
  License-Expression: MIT
@@ -1503,8 +1503,8 @@ class OptimizedPVEToNetBoxSync:
1503
1503
  self._write_drift_event(vm_name, vm_id, 'disk_change', k, old_v, new_v, notified=True)
1504
1504
 
1505
1505
  # VM 描述變更偵測
1506
- current_desc = self._norm_desc(vm_config.get('description'))[:500]
1507
- old_desc = self._norm_desc(last_config.get('description'))
1506
+ current_desc = self._norm_desc(vm_config.get('description'))[:500].strip()
1507
+ old_desc = self._norm_desc(last_config.get('description'))[:500].strip()
1508
1508
  if old_desc and old_desc != current_desc:
1509
1509
  self.stats['config_drifts_detected'] += 1
1510
1510
  print(f"📝 VM {vm_name} 描述變更")
@@ -1804,7 +1804,7 @@ class OptimizedPVEToNetBoxSync:
1804
1804
  vm_id=int(vm_id), cluster_name=self.cluster_name, config_hash=config_hash,
1805
1805
  memory=memory, vcpus=vcpus_save, tags=tag_names,
1806
1806
  node=node_name, primary_ip=cur_ip, vm_name=original_vm_name,
1807
- description=self._norm_desc(vm_config.get('description'))[:500],
1807
+ description=self._norm_desc(vm_config.get('description'))[:500].strip(),
1808
1808
  disk_summary=json.dumps(self._parse_disk_summary(vm_config)),
1809
1809
  )
1810
1810
  except Exception as _snap_err:
@@ -1917,7 +1917,7 @@ class OptimizedPVEToNetBoxSync:
1917
1917
  vm_id=int(vm_id), cluster_name=self.cluster_name, config_hash=config_hash,
1918
1918
  memory=memory, vcpus=vcpus_save, tags=tag_names,
1919
1919
  node=node_name, primary_ip=primary_ip_str, vm_name=original_vm_name,
1920
- description=self._norm_desc(vm_config.get('description'))[:500],
1920
+ description=self._norm_desc(vm_config.get('description'))[:500].strip(),
1921
1921
  disk_summary=json.dumps(self._parse_disk_summary(vm_config)),
1922
1922
  )
1923
1923
  return True
@@ -1942,7 +1942,7 @@ class OptimizedPVEToNetBoxSync:
1942
1942
  node=node_name,
1943
1943
  primary_ip=_ip,
1944
1944
  vm_name=original_vm_name,
1945
- description=self._norm_desc(vm_config.get('description'))[:500],
1945
+ description=self._norm_desc(vm_config.get('description'))[:500].strip(),
1946
1946
  disk_summary=json.dumps(self._parse_disk_summary(vm_config)),
1947
1947
  )
1948
1948
  except Exception:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "proxsync"
7
- version = "2.0.6"
7
+ version = "2.0.7"
8
8
  description = "NetBox plugin for Proxmox VE inventory synchronization"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -529,7 +529,7 @@ def compute_config_hash(vm_config: Dict[str, Any], tags: List[str], network_inte
529
529
  'ostype': vm_config.get('ostype', ''),
530
530
  'cores': vm_config.get('cores', 1),
531
531
  'sockets': vm_config.get('sockets', 1),
532
- 'description': (vm_config.get('description') or '').replace('\r\n', '\n').replace('\r', '\n').strip()[:200],
532
+ 'description': (vm_config.get('description') or '').replace('\r\n', '\n').replace('\r', '\n').strip()[:200].strip(),
533
533
  'tags': sorted(tags), # 排序以确保一致性
534
534
  'networks': net_config # 添加网络接口配置
535
535
  }
File without changes
File without changes
File without changes
File without changes
File without changes