[Python-checkins] pymigr: Fix indentation of Python scripts
antoine.pitrou
python-checkins at python.org
Tue Feb 22 23:44:15 CET 2011
antoine.pitrou pushed eaa307f60200 to pymigr:
http://hg.python.org/pymigr/rev/eaa307f60200
changeset: 78:eaa307f60200
user: Antoine Pitrou <solipsis at pitrou.net>
date: Tue Feb 22 23:41:08 2011 +0100
summary:
Fix indentation of Python scripts
files:
authors.py
binfo.py
findlarge.py
findmerges.py
query.py
revprops.py
senders.py
split.py
util.py
diff --git a/authors.py b/authors.py
--- a/authors.py
+++ b/authors.py
@@ -3,24 +3,24 @@
MAP = 'author-map'
def findauthors(repo):
- data = set()
- for rev, props in util.walkrevs(repo):
- author = props.get('svn:author')
- if author is None:
- if 'svn:log' in props and 'cvs2svn' in props['svn:log']:
- author = 'cvs2svn'
- else:
- print rev, props
- continue
- data.add(author)
- return data
+ data = set()
+ for rev, props in util.walkrevs(repo):
+ author = props.get('svn:author')
+ if author is None:
+ if 'svn:log' in props and 'cvs2svn' in props['svn:log']:
+ author = 'cvs2svn'
+ else:
+ print rev, props
+ continue
+ data.add(author)
+ return data
def parse():
- f = open(MAP)
- mapped = (i.split('=') for i in f)
- return dict((k.strip(), v.strip()) for (k, v) in mapped)
+ f = open(MAP)
+ mapped = (i.split('=') for i in f)
+ return dict((k.strip(), v.strip()) for (k, v) in mapped)
if __name__ == '__main__':
- authors = findauthors(sys.argv[1])
- map = parse()
- print authors - set(map)
+ authors = findauthors(sys.argv[1])
+ map = parse()
+ print authors - set(map)
diff --git a/binfo.py b/binfo.py
--- a/binfo.py
+++ b/binfo.py
@@ -2,44 +2,43 @@
import sys
def svnrev(ctx):
- extra = ctx.extra()
- if 'convert_revision' in extra:
- return int(extra['convert_revision'].rsplit('@')[1])
- return None
+ extra = ctx.extra()
+ if 'convert_revision' in extra:
+ return int(extra['convert_revision'].rsplit('@')[1])
+ return None
def find(repo, branch):
-
- first = None
- last = None
- number = 0
- closed = False
- mentioned = []
-
- for i in repo:
- ctx = repo[i]
- if first and branch in ctx.description() and ctx.branch() != branch:
- line = ctx.description().split('\n')[0]
- mentioned.append((ctx.rev(), svnrev(ctx), line))
- if ctx.branch() != branch:
- continue
- if first is None:
- first = ctx.rev(), svnrev(ctx)
- if svnrev(ctx):
- last = ctx.rev(), svnrev(ctx)
- if 'close' in ctx.extra():
- pre = svnrev(repo[i - 1])
- closed = ctx.rev(), int(pre) + 1 if pre else None
- number += 1
-
- return first, last, number, closed, mentioned
+ first = None
+ last = None
+ number = 0
+ closed = False
+ mentioned = []
+
+ for i in repo:
+ ctx = repo[i]
+ if first and branch in ctx.description() and ctx.branch() != branch:
+ line = ctx.description().split('\n')[0]
+ mentioned.append((ctx.rev(), svnrev(ctx), line))
+ if ctx.branch() != branch:
+ continue
+ if first is None:
+ first = ctx.rev(), svnrev(ctx)
+ if svnrev(ctx):
+ last = ctx.rev(), svnrev(ctx)
+ if 'close' in ctx.extra():
+ pre = svnrev(repo[i - 1])
+ closed = ctx.rev(), int(pre) + 1 if pre else None
+ number += 1
+
+ return first, last, number, closed, mentioned
if __name__ == '__main__':
- repo = hg.repository(ui.ui(), sys.argv[1])
- first, last, number, closed, mentioned = find(repo, sys.argv[2])
- print 'First:', first
- print 'Last:', last
- print 'Closed:', closed
- print 'Number:', number
- for rev, srev, desc in mentioned:
- if srev > first[1]:
- print rev, srev, desc
+ repo = hg.repository(ui.ui(), sys.argv[1])
+ first, last, number, closed, mentioned = find(repo, sys.argv[2])
+ print 'First:', first
+ print 'Last:', last
+ print 'Closed:', closed
+ print 'Number:', number
+ for rev, srev, desc in mentioned:
+ if srev > first[1]:
+ print rev, srev, desc
diff --git a/findlarge.py b/findlarge.py
--- a/findlarge.py
+++ b/findlarge.py
@@ -2,9 +2,9 @@
files = []
for dir, dirs, fns in os.walk('data'):
- for fn in fns:
- fn = os.path.join(dir, fn)
- files.append((os.path.getsize(fn), fn))
+ for fn in fns:
+ fn = os.path.join(dir, fn)
+ files.append((os.path.getsize(fn), fn))
for s, fn in sorted(files, reverse=True)[0:20]:
- print s, fn
+ print s, fn
diff --git a/findmerges.py b/findmerges.py
--- a/findmerges.py
+++ b/findmerges.py
@@ -4,28 +4,28 @@
IGNORE = set(('default', 'None', 'empty', 'py3k', 'ssize_t', 'SourceForge'))
def ctxs(repo):
- for i in repo:
- yield repo[i]
+ for i in repo:
+ yield repo[i]
def check(repo):
- branches = set(repo.branchtags())
- branches -= IGNORE
- for ctx in ctxs(repo):
- desc = ctx.description()
- if ctx.branch() != 'default':
- continue
- if 'cvs2svn' in desc:
- continue
- if desc.startswith('Merged revisions'):
- continue
- for b in branches:
- if b.endswith('-maint'):
- continue
- if b in desc:
- if 'convert_revision' not in ctx.extra():
- print 'WEIRD', ctx, ctx.extra()
- else:
- print ctx.extra()['convert_revision'].rsplit('@')[1], b, desc.split('\n')[0]
+ branches = set(repo.branchtags())
+ branches -= IGNORE
+ for ctx in ctxs(repo):
+ desc = ctx.description()
+ if ctx.branch() != 'default':
+ continue
+ if 'cvs2svn' in desc:
+ continue
+ if desc.startswith('Merged revisions'):
+ continue
+ for b in branches:
+ if b.endswith('-maint'):
+ continue
+ if b in desc:
+ if 'convert_revision' not in ctx.extra():
+ print 'WEIRD', ctx, ctx.extra()
+ else:
+ print ctx.extra()['convert_revision'].rsplit('@')[1], b, desc.split('\n')[0]
if __name__ == '__main__':
- check(hg.repository(ui.ui(), sys.argv[1]))
+ check(hg.repository(ui.ui(), sys.argv[1]))
diff --git a/query.py b/query.py
--- a/query.py
+++ b/query.py
@@ -1,12 +1,12 @@
import util, sys
def authorrevs(repo, author):
- for rev, props in util.walkrevs(repo):
- if 'svn:author' in props and props['svn:author'].startswith(author):
- print '%i:' % rev
- for k, v in props.iteritems():
- print '%s: %s' % (k, v)
- print '=' * 30
+ for rev, props in util.walkrevs(repo):
+ if 'svn:author' in props and props['svn:author'].startswith(author):
+ print '%i:' % rev
+ for k, v in props.iteritems():
+ print '%s: %s' % (k, v)
+ print '=' * 30
if __name__ == '__main__':
- authorrevs(sys.argv[1], sys.argv[2])
+ authorrevs(sys.argv[1], sys.argv[2])
diff --git a/revprops.py b/revprops.py
--- a/revprops.py
+++ b/revprops.py
@@ -1,14 +1,14 @@
import util, sys
def get(repo):
- freq = {}
- for rev, props in util.walkrevs(repo):
- for k, v in props.iteritems():
- cur = freq.get(k, (0, None))
- freq[k] = cur[0] + 1, rev
- return freq
+ freq = {}
+ for rev, props in util.walkrevs(repo):
+ for k, v in props.iteritems():
+ cur = freq.get(k, (0, None))
+ freq[k] = cur[0] + 1, rev
+ return freq
if __name__ == '__main__':
- freq = get(sys.argv[1])
- for k, v in freq.iteritems():
- print '%s (%s): %s' % (k, v[1], v[0])
+ freq = get(sys.argv[1])
+ for k, v in freq.iteritems():
+ print '%s (%s): %s' % (k, v[1], v[0])
diff --git a/senders.py b/senders.py
--- a/senders.py
+++ b/senders.py
@@ -6,89 +6,89 @@
simple2 = re.compile('"(.*?)" \<([\w@\.-]+)\>')
def autodecode(s):
- try:
- encoding = chardet.detect(s)['encoding']
- if encoding is not None:
- return s.decode(s, encoding)
- else:
- return s.decode('ascii')
- except LookupError:
- return s.decode('latin1')
+ try:
+ encoding = chardet.detect(s)['encoding']
+ if encoding is not None:
+ return s.decode(s, encoding)
+ else:
+ return s.decode('ascii')
+ except LookupError:
+ return s.decode('latin1')
def parse(dir):
- people = {}
- for fn in sorted(os.listdir(dir)):
-
- print 'FILE', fn
-
- fn = os.path.join(dir, fn)
- for ln in open(fn):
- if not ln.startswith('From:'):
- continue
- ln = ln[5:].strip()
-
- m = simple.match(ln)
- if m:
- email, name = m.groups()
- name = autodecode(name)
- people.setdefault(name, []).append(email.lower())
- continue
-
- m = obfuscated.match(ln)
- if m:
- user, host, name = m.groups()
- email = user + '@' + host
- if not name.startswith('=?'):
- name = autodecode(name)
- people.setdefault(name, []).append(email.lower())
- continue
-
- encend = name[2:].index('?', 1)
- encoding = name[2:2 + encend].lower()
- name = name[5 + encend:-2]
- name = name.replace('=22', '')
-
- postfix = ''
- if '?=' in name:
- name, _, postfix = name.partition('?=')
-
- ss = "'%s'" % name.strip('=').replace('=', '\\x')
-
- try:
- escaped = eval(ss)
- name = escaped.decode(encoding)
- except UnicodeDecodeError:
- name = autodecode(escaped)
-
- name = name.replace('_', ' ') + postfix
- if ' ' not in name:
- continue
-
- people.setdefault(name, []).append(email.lower())
- continue
-
- m = double.match(ln)
- if m:
- name1, email, name2 = m.groups()
- if name1 != name2:
- continue
- name = autodecode(name1)
- people.setdefault(name, []).append(email.lower())
- continue
-
- m = simple2.match(ln)
- if m:
- name, email = m.groups()
- name = autodecode(name)
- people.setdefault(name, []).append(email.lower())
- continue
-
- return people
+ people = {}
+ for fn in sorted(os.listdir(dir)):
+
+ print 'FILE', fn
+
+ fn = os.path.join(dir, fn)
+ for ln in open(fn):
+ if not ln.startswith('From:'):
+ continue
+ ln = ln[5:].strip()
+
+ m = simple.match(ln)
+ if m:
+ email, name = m.groups()
+ name = autodecode(name)
+ people.setdefault(name, []).append(email.lower())
+ continue
+
+ m = obfuscated.match(ln)
+ if m:
+ user, host, name = m.groups()
+ email = user + '@' + host
+ if not name.startswith('=?'):
+ name = autodecode(name)
+ people.setdefault(name, []).append(email.lower())
+ continue
+
+ encend = name[2:].index('?', 1)
+ encoding = name[2:2 + encend].lower()
+ name = name[5 + encend:-2]
+ name = name.replace('=22', '')
+
+ postfix = ''
+ if '?=' in name:
+ name, _, postfix = name.partition('?=')
+
+ ss = "'%s'" % name.strip('=').replace('=', '\\x')
+
+ try:
+ escaped = eval(ss)
+ name = escaped.decode(encoding)
+ except UnicodeDecodeError:
+ name = autodecode(escaped)
+
+ name = name.replace('_', ' ') + postfix
+ if ' ' not in name:
+ continue
+
+ people.setdefault(name, []).append(email.lower())
+ continue
+
+ m = double.match(ln)
+ if m:
+ name1, email, name2 = m.groups()
+ if name1 != name2:
+ continue
+ name = autodecode(name1)
+ people.setdefault(name, []).append(email.lower())
+ continue
+
+ m = simple2.match(ln)
+ if m:
+ name, email = m.groups()
+ name = autodecode(name)
+ people.setdefault(name, []).append(email.lower())
+ continue
+
+ return people
if __name__ == '__main__':
- people = parse(sys.argv[1])
- print 'Writing output file...'
- out = open('addresses.txt', 'w')
- for k, v in sorted(people.iteritems()):
- print >> out, k.encode('utf-8'), '===', v[-1]
- out.close()
+ people = parse(sys.argv[1])
+ print 'Writing output file...'
+ out = open('addresses.txt', 'w')
+ for k, v in sorted(people.iteritems()):
+ print >> out, k.encode('utf-8'), '===', v[-1]
+ out.close()
diff --git a/split.py b/split.py
--- a/split.py
+++ b/split.py
@@ -1,57 +1,56 @@
from mercurial import ui, hg
def rtags():
- tags = {}
- for ln in open('tagmap.txt'):
- src, dst = ln.strip().split('=')
- if dst.strip():
- tags[src.strip()] = dst.strip()
- return tags
+ tags = {}
+ for ln in open('tagmap.txt'):
+ src, dst = ln.strip().split('=')
+ if dst.strip():
+ tags[src.strip()] = dst.strip()
+ return tags
def find(repo):
-
- want = rtags()
- main = set()
- for n in repo.heads():
-
- ctx = repo[n]
- path = ctx.extra()['convert_revision'].split('/', 1)[1]
- path = path.rsplit('@', 1)[0]
-
- tags = ctx.tags()
- if 'tip' in tags:
- tags.remove('tip')
-
- if '/tags/' in path and not tags:
- continue
- elif '/tags/' not in path and tags:
- continue
- #print 'unexpected tags', tags
-
- if path.endswith('-maint'):
- continue
-
- name = path.split('/')[-1]
- if not tags and name not in set(('py3k', 'p3yk', 'trunk')):
- #print 'clone', path, '->', path.split('/')[-1]
- continue
-
- if path == 'python/trunk':
- print 'hg pull -r%s ../python-hg' % ctx
- elif path == 'python/branches/py3k':
- print 'hg pull -r%s ../python-hg' % ctx
- elif path == 'python/branches/p3yk':
- print 'hg pull -r%s ../python-hg' % ctx
- print 'hg up -C %s' % ctx.branch()
- print 'hg parents'
- print 'hg merge %s' % ctx
- print '''hg ci -m "Close branch for tag '%s'."''' % name
- else:
- print 'hg pull -r%s ../python-hg' % ctx
- print 'hg up -C %s' % ctx.branch()
- print 'hg merge --tool internal:local %s' % ctx
- print '''hg ci -m "Close branch for tag '%s'."''' % name
+ want = rtags()
+ main = set()
+ for n in repo.heads():
+
+ ctx = repo[n]
+ path = ctx.extra()['convert_revision'].split('/', 1)[1]
+ path = path.rsplit('@', 1)[0]
+
+ tags = ctx.tags()
+ if 'tip' in tags:
+ tags.remove('tip')
+
+ if '/tags/' in path and not tags:
+ continue
+ elif '/tags/' not in path and tags:
+ continue
+ #print 'unexpected tags', tags
+
+ if path.endswith('-maint'):
+ continue
+
+ name = path.split('/')[-1]
+ if not tags and name not in set(('py3k', 'p3yk', 'trunk')):
+ #print 'clone', path, '->', path.split('/')[-1]
+ continue
+
+ if path == 'python/trunk':
+ print 'hg pull -r%s ../python-hg' % ctx
+ elif path == 'python/branches/py3k':
+ print 'hg pull -r%s ../python-hg' % ctx
+ elif path == 'python/branches/p3yk':
+ print 'hg pull -r%s ../python-hg' % ctx
+ print 'hg up -C %s' % ctx.branch()
+ print 'hg parents'
+ print 'hg merge %s' % ctx
+ print '''hg ci -m "Close branch for tag '%s'."''' % name
+ else:
+ print 'hg pull -r%s ../python-hg' % ctx
+ print 'hg up -C %s' % ctx.branch()
+ print 'hg merge --tool internal:local %s' % ctx
+ print '''hg ci -m "Close branch for tag '%s'."''' % name
if __name__ == '__main__':
- repo = hg.repository(ui.ui(), 'python-hg')
- branches = find(repo)
+ repo = hg.repository(ui.ui(), 'python-hg')
+ branches = find(repo)
diff --git a/util.py b/util.py
--- a/util.py
+++ b/util.py
@@ -1,26 +1,26 @@
import sys, os
def parse(fn):
- f = open(fn, 'rb')
- data = {}
- while f.read(1) == 'K':
- kl = int(f.readline().strip())
- kv = f.read(kl)
- assert f.read(3) == '\nV '
- vl = int(f.readline().strip())
- vv = f.read(vl)
- data[kv] = vv
- f.read(1) # eat post-value newline
- assert f.read() == 'ND\n' # E eaten by loop header
- return data
+ f = open(fn, 'rb')
+ data = {}
+ while f.read(1) == 'K':
+ kl = int(f.readline().strip())
+ kv = f.read(kl)
+ assert f.read(3) == '\nV '
+ vl = int(f.readline().strip())
+ vv = f.read(vl)
+ data[kv] = vv
+ f.read(1) # eat post-value newline
+ assert f.read() == 'ND\n' # E eaten by loop header
+ return data
def walkrevs(repo):
- rpdir = os.path.join(repo, 'db', 'revprops')
- data = set()
- for (root, dirs, files) in os.walk(rpdir):
- for fn in files:
- full = os.path.join(root, fn)
- yield int(fn), parse(full)
+ rpdir = os.path.join(repo, 'db', 'revprops')
+ data = set()
+ for (root, dirs, files) in os.walk(rpdir):
+ for fn in files:
+ full = os.path.join(root, fn)
+ yield int(fn), parse(full)
if __name__ == '__main__':
- print parse(sys.argv[1])
+ print parse(sys.argv[1])
--
Repository URL: http://hg.python.org/pymigr
More information about the Python-checkins
mailing list