home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   linux.debian.bugs.dist      Ohh some weird Debian bug report thing      28,835 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 28,520 of 28,835   
   Alexandre Detiste to All   
   Bug#1128660: python-rapidjson: please fi   
   22 Feb 26 12:50:02   
   
   From: alexandre.detiste@gmail.com   
      
   Source: python-rapidjson   
   Version: 1.4-3   
   Severity: normal   
      
   Dear Maintainer,   
      
   The current d/watch file cannot detect recent releases.   
      
   Please replace a '_' with a '-' in the watch file.   
      
   The GitHub repos at https://github.com/python-rapidjson/python-rapidjson   
   seems to depends on a git submodule which might not play well with debian   
   tooling.   
      
   I'm a bit puzzled why UDD only gives me this result now   
   in my query hereunder, but it got fixed eventualy at last.   
      
   Greetings   
      
   Alexandre   
      
      
      
   https://pypi.debian.net/python-rapidjson   
   ...   
   . python-rapidjson-1.15.tar.gz   
   . python-rapidjson-1.16.tar.gz   
   . python-rapidjson-1.17.tar.gz   
   . python-rapidjson-1.18.tar.gz   
   . python-rapidjson-1.19.tar.gz   
   . python_rapidjson-1.20.tar.gz   
   . python_rapidjson-1.21.tar.gz   
   . python_rapidjson-1.22.tar.gz   
   . python_rapidjson-1.23.tar.gz   
      
      
      
   $ cat pypi-bad.py   
   #!/usr/bin/python3   
      
   # https://udd.debian.org/schema/udd.html   
      
   # https://regex101.com/   
      
   import re   
      
   from looseversion import LooseVersion2 as V   
   import requests   
   import psycopg   
      
   RE = re.compile(r'(https?://pypi\.debian\.net/.*)/(.*)\-')   
      
   conn = psycopg.connect("postgresql://udd-mirror:udd-mirror@udd-m   
   rror.debian.net/udd")   
   cursor = conn.cursor()   
   cursor.execute("""   
       SELECT DISTINCT source, version, watch_file   
       FROM upstream   
       WHERE watch_file LIKE '%://pypi.debian.net/%'   
       AND status = 'error'   
   """)   
      
   count = 0   
   for row in cursor.fetchall():   
       source_, version_, watch_ = row   
       source = source_.decode('ascii', 'ignore')   
       version = version_.decode('ascii', 'ignore')   
       watch = watch_.decode('ascii', 'ignore')   
       current = V(version)   
       if not current:   
           print('cannot parse %s' % version)   
           continue   
       watch = watch.replace('@PACKAGE@', source)   
       watch = watch.replace('@ANY_VERSION@', '-any_version')   
       match = RE.search(watch)   
       if not match:   
           continue   
       base = match[1]   
       archive = match[2]   
      
       transform = archive.replace('-', '_').lower()   
       if transform == archive:   
           continue   
      
       count += 1   
       print(base, version, archive)   
       r = requests.get(base)   
       for line in r.text.splitlines():   
           if transform in line:   
               #print(line)   
               new_v = line.split('>')[1].split('<')[0]   
               if '-' not in new_v:   
                   print('cannot parse %s' % version)   
                   continue   
               next_v = new_v.split('-')[1]   
               if next_v.endswith('.tar.gz'):   
                   next_v = next_v[:len(next_v)-len('.tar.gz')]   
               if next_v.endswith('.tgz'):   
                   next_v = next_v[:len(next_v)-len('.tgz')]   
               next_version = V(next_v)   
               if not next_version:   
                   print('cannot parse %s' % next_version)   
               elif next_version > current:   
                   print(source, version, base, new_v, archive)   
      
   print(count)   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca