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