30
30
31
31
import datetime
32
32
import json
33
+ import os
33
34
import logging
34
- from os import path
35
+ import sys
35
36
36
37
from packvers import version as packaging_version
37
38
import requests
54
55
55
56
SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ"
56
57
58
+ TRACE = os .environ .get ('SCANCODE_DEBUG_OUTDATED' , False )
59
+
60
+ def logger_debug (* args ):
61
+ pass
62
+
63
+
57
64
logger = logging .getLogger (__name__ )
58
- # logging.basicConfig(stream=sys.stdout)
59
- # logger.setLevel(logging.WARNING)
65
+
66
+ if TRACE :
67
+
68
+ if TRACE :
69
+ logging .basicConfig (stream = sys .stdout )
70
+ logger .setLevel (logging .DEBUG )
71
+
72
+ def logger_debug (* args ):
73
+ return logger .debug (' ' .join (isinstance (a , str ) and a or repr (a ) for a in args ))
60
74
61
75
62
76
def total_seconds (td ):
@@ -70,7 +84,7 @@ def total_seconds(td):
70
84
class VersionCheckState :
71
85
72
86
def __init__ (self ):
73
- self .statefile_path = path .join (
87
+ self .statefile_path = os . path .join (
74
88
scancode_cache_dir , 'scancode-version-check.json' )
75
89
self .lockfile_path = self .statefile_path + '.lockfile'
76
90
# Load the existing state
@@ -154,6 +168,11 @@ def fetch_newer_version(
154
168
State is stored in the scancode_cache_dir.
155
169
If `force` is True, redo a PyPI remote check.
156
170
"""
171
+ # If installed version is from git describe, only use the first part of it
172
+ # i.e. `v31.2.1-343-gd9d2e19e32` -> `v31.2.1`
173
+ if "-" in installed_version :
174
+ installed_version = installed_version .split ("-" )[0 ]
175
+
157
176
try :
158
177
installed_version = packaging_version .parse (installed_version )
159
178
state = VersionCheckState ()
@@ -185,6 +204,10 @@ def fetch_newer_version(
185
204
186
205
latest_version = packaging_version .parse (latest_version )
187
206
207
+ if TRACE :
208
+ logger_debug (f"installed_version: { installed_version } , latest version: { latest_version } " )
209
+ logger_debug (f"installed_version < latest_version: { installed_version < latest_version } " )
210
+
188
211
# Determine if our latest_version is older
189
212
if (installed_version < latest_version
190
213
and installed_version .base_version != latest_version .base_version ):
0 commit comments