devel/py-opster: Update 4.2 → 5.0
Reported by: portscout
This commit is contained in:
parent
59fee318a9
commit
af884f1249
@ -1,18 +1,24 @@
|
||||
PORTNAME= opster
|
||||
PORTVERSION= 4.2
|
||||
DISTVERSION= 5.0
|
||||
CATEGORIES= devel python
|
||||
MASTER_SITES= PYPI
|
||||
#MASTER_SITES= PYPI no tests
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
COMMENT= Command line parsing speedster
|
||||
WWW= https://pypi.org/project/opster/
|
||||
WWW= https://github.com/piranha/opster/
|
||||
|
||||
LICENSE= BSD2CLAUSE
|
||||
|
||||
USES= python:3.6+
|
||||
USE_PYTHON= autoplist distutils
|
||||
USE_PYTHON= distutils autoplist pytest # tests fail to run, see https://github.com/piranha/opster/issues/62
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= piranha
|
||||
|
||||
NO_ARCH= yes
|
||||
|
||||
TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
|
||||
TEST_WRKSRC= ${WRKSRC}/tests
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1540757476
|
||||
SHA256 (opster-4.2.tar.gz) = 220af1ada6f2f2bb1100d0c0f73cc09a3ddd641888a6b56a8af62f9f1871946f
|
||||
SIZE (opster-4.2.tar.gz) = 14175
|
||||
TIMESTAMP = 1674628225
|
||||
SHA256 (piranha-opster-5.0_GH0.tar.gz) = 225bffc6fd96a750ba428f3fd8c94fa0e43b44d42579bb1527f619523887049b
|
||||
SIZE (piranha-opster-5.0_GH0.tar.gz) = 27410
|
||||
|
@ -1,162 +0,0 @@
|
||||
--- opster.py.orig 2018-10-21 19:05:05 UTC
|
||||
+++ opster.py
|
||||
@@ -3,7 +3,7 @@
|
||||
'''
|
||||
|
||||
import sys, traceback, getopt, types, textwrap, inspect, os, re, keyword, codecs
|
||||
-from itertools import imap
|
||||
+
|
||||
from functools import wraps
|
||||
from collections import namedtuple, Callable
|
||||
from contextlib import contextmanager
|
||||
@@ -19,12 +19,12 @@ def write(text, out=None):
|
||||
'''Write output to a given stream (stdout by default).'''
|
||||
out = out or sys.stdout
|
||||
try:
|
||||
- print >> out, text
|
||||
+ print(text, file=out)
|
||||
# Needed on Python 2.x if text is str/bytes containing non-ascii
|
||||
# characters and sys.stdout is replaced by a writer from the codecs
|
||||
# module. text will be decoded as ascii giving the decode error.
|
||||
except UnicodeDecodeError:
|
||||
- print >> out, text.decode('utf-8')
|
||||
+ print(text.decode('utf-8'), file=out)
|
||||
# Get the order of stdout/stderr correct on Windows. AFAICT this is only
|
||||
# needed for the test environment but it's harmless otherwise.
|
||||
out.flush()
|
||||
@@ -294,9 +294,9 @@ def help_(cmdtable, globalopts, scriptname):
|
||||
hlp = {}
|
||||
# determine if any command is marked for shortlist
|
||||
shortlist = (name == 'shortlist' and
|
||||
- any(imap(lambda x: x.startswith('^'), cmdtable)))
|
||||
+ any(map(lambda x: x.startswith('^'), cmdtable)))
|
||||
|
||||
- for cmd, info in cmdtable.items():
|
||||
+ for cmd, info in list(cmdtable.items()):
|
||||
if cmd.startswith('~'):
|
||||
continue # do not display hidden commands
|
||||
if shortlist and not cmd.startswith('^'):
|
||||
@@ -306,7 +306,7 @@ def help_(cmdtable, globalopts, scriptname):
|
||||
hlp[cmd] = doc.strip().splitlines()[0].rstrip()
|
||||
|
||||
hlplist = sorted(hlp)
|
||||
- maxlen = max(map(len, hlplist))
|
||||
+ maxlen = max(list(map(len, hlplist)))
|
||||
|
||||
write('usage: %s <command> [options]' % scriptname)
|
||||
write('\ncommands:\n')
|
||||
@@ -449,7 +449,7 @@ def Option(opt):
|
||||
def CmdTable(cmdtable):
|
||||
'''Factory to convert option tuples in a cmdtable'''
|
||||
newtable = {}
|
||||
- for name, (func, opts, usage) in cmdtable.items():
|
||||
+ for name, (func, opts, usage) in list(cmdtable.items()):
|
||||
newtable[name] = (func, [Option(o) for o in opts], usage)
|
||||
return newtable
|
||||
|
||||
@@ -499,7 +499,7 @@ class LiteralOption(BaseOption):
|
||||
|
||||
class UnicodeOption(BaseOption):
|
||||
'''Handle unicode values, decoding input'''
|
||||
- type = unicode
|
||||
+ type = str
|
||||
|
||||
def convert(self, final):
|
||||
return decodearg(final)
|
||||
@@ -508,7 +508,7 @@ class UnicodeOption(BaseOption):
|
||||
class BoolOption(BaseOption):
|
||||
'''Boolean option type.'''
|
||||
has_parameter = False
|
||||
- type = (bool, types.NoneType)
|
||||
+ type = (bool, type(None))
|
||||
|
||||
def convert(self, final):
|
||||
return bool(final)
|
||||
@@ -682,7 +682,7 @@ def findpossible(cmd, table):
|
||||
'''
|
||||
pattern = '.*?'.join(list(cmd))
|
||||
choice = {}
|
||||
- for e in table.keys():
|
||||
+ for e in list(table.keys()):
|
||||
aliases = aliases_(e)
|
||||
found = None
|
||||
if cmd in aliases:
|
||||
@@ -706,12 +706,12 @@ def findcmd(cmd, table):
|
||||
return choice[cmd]
|
||||
|
||||
if len(choice) > 1:
|
||||
- clist = choice.keys()
|
||||
+ clist = list(choice.keys())
|
||||
clist.sort()
|
||||
raise AmbiguousCommand(cmd, clist)
|
||||
|
||||
if choice:
|
||||
- return choice.values()[0]
|
||||
+ return list(choice.values())[0]
|
||||
|
||||
raise UnknownCommand(cmd)
|
||||
|
||||
@@ -951,7 +951,7 @@ def pretty_doc_string(item):
|
||||
if len(lines) <= 1:
|
||||
return raw_doc
|
||||
indent = len(lines[1]) - len(lines[1].lstrip())
|
||||
- return '\n'.join([lines[0]] + map(lambda l: l[indent:], lines[1:]))
|
||||
+ return '\n'.join([lines[0]] + [l[indent:] for l in lines[1:]])
|
||||
|
||||
|
||||
def name_from_python(name):
|
||||
@@ -990,12 +990,12 @@ def autocomplete(cmdtable, args, middleware):
|
||||
current = ''
|
||||
|
||||
commands = []
|
||||
- for k in cmdtable.keys():
|
||||
+ for k in list(cmdtable.keys()):
|
||||
commands += aliases_(k)
|
||||
|
||||
# command
|
||||
if cword == 1:
|
||||
- print ' '.join(filter(lambda x: x.startswith(current), commands))
|
||||
+ print(' '.join([x for x in commands if x.startswith(current)]))
|
||||
|
||||
# command options
|
||||
elif cwords[0] in commands:
|
||||
@@ -1013,9 +1013,9 @@ def autocomplete(cmdtable, args, middleware):
|
||||
if middleware:
|
||||
completer = middleware(completer)
|
||||
args = completer(current)
|
||||
- print ' '.join(args),
|
||||
+ print(' '.join(args), end=' ')
|
||||
|
||||
- print ' '.join((o for o in options if o.startswith(current)))
|
||||
+ print(' '.join((o for o in options if o.startswith(current))))
|
||||
|
||||
sys.exit(1)
|
||||
|
||||
@@ -1058,7 +1058,7 @@ def completion(type=('t', 'bash', 'Completion type (ba
|
||||
'''Outputs completion script for bash or zsh.'''
|
||||
|
||||
prog_name = os.path.split(sys.argv[0])[1]
|
||||
- print COMPLETIONS[type].strip() % prog_name
|
||||
+ print(COMPLETIONS[type].strip() % prog_name)
|
||||
|
||||
|
||||
# --------
|
||||
--- setup.py.orig 2018-10-21 19:01:07 UTC
|
||||
+++ setup.py
|
||||
@@ -4,10 +4,6 @@ import sys, os, re
|
||||
|
||||
from setuptools import setup
|
||||
|
||||
-if sys.version_info[0] >= 3:
|
||||
- extra = {'use_2to3': True}
|
||||
-else:
|
||||
- extra = {}
|
||||
|
||||
def read(fname):
|
||||
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
||||
@@ -46,4 +42,4 @@ setup(
|
||||
],
|
||||
py_modules=['opster'],
|
||||
platforms='any',
|
||||
- **extra)
|
||||
+ )
|
@ -3,5 +3,3 @@ applications easy and painless. It uses built-in Python types (lists,
|
||||
dictionaries, etc) to define options, which makes configuration clear
|
||||
and concise. Additionally it contains possibility to handle subcommands
|
||||
(i.e. hg commit or svn update).
|
||||
|
||||
See also: https://github.com/piranha/opster/
|
||||
|
Loading…
Reference in New Issue
Block a user