public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
@ 2015-08-24  0:05 Robin H. Johnson
       [not found] ` <20150824074816.GA8830@ultrachro.me>
  0 siblings, 1 reply; 8+ messages in thread
From: Robin H. Johnson @ 2015-08-24  0:05 UTC (permalink / raw
  To: gentoo-dev, gentoo-dev-announce

[-- Attachment #1: Type: text/plain, Size: 293 bytes --]

The attached list notes all of the packages that were added or removed
from the tree, for the week ending 2015-08-23 23:59 UTC.

Removals:

Additions:

--
Robin Hugh Johnson
Gentoo Linux Developer
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

[-- Attachment #2: add-removals.1440374400.log --]
[-- Type: text/plain, Size: 39 bytes --]

Removed Packages:
Added Packages:
Done.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
       [not found] ` <20150824074816.GA8830@ultrachro.me>
@ 2015-08-24 17:44   ` Robin H. Johnson
  2015-08-25  1:39     ` malc
  0 siblings, 1 reply; 8+ messages in thread
From: Robin H. Johnson @ 2015-08-24 17:44 UTC (permalink / raw
  To: gentoo-dev


[-- Attachment #1.1: Type: text/plain, Size: 1212 bytes --]

On Mon, Aug 24, 2015 at 09:48:16AM +0200, Patrice Clement wrote:
> Monday 24 Aug 2015 00:05:20, Robin H. Johnson wrote :
> > The attached list notes all of the packages that were added or removed
> > from the tree, for the week ending 2015-08-23 23:59 UTC.
> > 
> > Removals:
> > 
> > Additions:
> > 
> > --
> > Robin Hugh Johnson
> > Gentoo Linux Developer
> > E-Mail     : robbat2@gentoo.org
> > GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
> 
> > Removed Packages:
> > Added Packages:
> > Done.
> You should turn this off now. :)
> 
> Btw, do you still need help with the same script but for Git?
I said last week already, that would somebody please write a Git version
of it. The prior one was very CVS-specific.

The mailer part is already separate from the data-build part, so here's
that data-build part if you wanted to integrate with the existing mail.

I've attached all the scripts from the CVS version, so you can see how
to slot in the Git code (replace the process.sh and .py script).

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Infrastructure Lead
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85

[-- Attachment #1.2: find-cvs-adds-and-removals-wrapper.sh --]
[-- Type: application/x-sh, Size: 516 bytes --]

[-- Attachment #1.3: find-cvs-adds-and-removals-process.sh --]
[-- Type: application/x-sh, Size: 841 bytes --]

[-- Attachment #1.4: find-cvs-adds-and-removals.py --]
[-- Type: text/x-python, Size: 4027 bytes --]

#!/usr/bin/env python2
# Authored by Alec Warner <antarus@gentoo.org>
# Significent modifications by Robin H Johnson <robbat2@gentoo.org>
# Released under the GPL Version 2
# Copyright Gentoo Foundation 2006

# Changelog: Initial release 2006/10/27

doc = """
# Purpose: This script analyzes the cvs history file in an attempt to locate package
# additions and removals.  It takes 3 arguments; two of which are optional.  It needs
# the path to the history file to read.  If a start_date is not provided it will read
# the entire file and match any addition/removal.  If you provide a start date it will
# only match thins that are after that start_date.  If you provide an end date you can
# find matches over date ranges.  If an end date is not provided it defaults to now()
"""

import sys, os, re, time, datetime

new_package = re.compile("^A(.*)\|.*gentoo-x86\/(.*)\/(.*)\|.*\|ChangeLog$")
removed_package = re.compile("^R(.*)\|.*gentoo-x86\/(.*)\/(.*)\|.*\|ChangeLog$")

class record(object):
	def __init__(self, who, date, cp, op ):
		"""
		    Who is a string
		    date is a unix timestamp
		    cp is a category/package
		    op is "added", "removed", "moved"
		"""
		self.who = who
		self.date = datetime.datetime.fromtimestamp( date ) 
		self.package = cp
		self.op = op

	def __str__( self ):
		#return "Package %s was %s by %s on %s" % (self.package, self.op, self.who, self.date)
		return "%s,%s,%s,%s" % (self.package, self.op, self.who, self.date)

	def cat (self):
		return self.package.split("/")[0]
	
	def pn (self):
		return self.package.split("/")[1]

	def date (self):
		return self.date
	
	def who (self):
		return self.who
	
	def op (self):
		return self.op


def main():
	if (len(sys.argv) < 2):
		usage()
		sys.exit(1)

	args = sys.argv[1:]
	history_file = args[0]
	# Robin requested I let one specify stdin
	if history_file == "-":
		history = sys.stdin
	else:
		history = open( history_file )

	if len(args) >= 2: 
		start_date = int(args[1])
		#start_date = time.strptime( start_date, "%d/%m/%Y")
		#start_date = time.mktime( start_date )
	else:
		start_date = 0 # no real start date then.

	if len(args) >= 3:
		end_date = int(args[2])
		#end_date = time.strptime( end_date, "%d/%m/%Y")
		#end_date = time.mktime( end_date )
	else:
		end_date = time.time()

	try:
		
		lines = history.readlines()
	except IOError as e:
		print("Failed to open History file!")
		raise e
	except OSError as e:
		print("Failed to open History file!")
		raise e

	removals = []
	adds = []
	moves = []
	for line in lines:
		match = new_package.match( line )
		if match:
			t = match.groups()[0]
			split = t.split("|")
			t = split[0]
			who = split[1]
			try:
				t = int(t, 16)
			except e:
				print("Failed to convert hex timestamp to integer")
				raise e

			if t < end_date and t > start_date:
				rec = record( who, t, match.groups()[1] + "/" + match.groups()[2], "added" )
				adds.append( rec )
				continue
			else:
				continue # date out of range
		match = removed_package.match( line )

		if match:
			t = match.groups()[0]
			split = t.split("|")
			t = split[0]
			who = split[1]
			try:
				t = int(t, 16)
			except e:
				print("Failed to convert hex timestamp to integer")
				raise e
			if t < end_date and t > start_date:
				rec = record( who, t, match.groups()[1] + "/" + match.groups()[2], "removed" )
				removals.append( rec )
				continue
			else:
				continue # date out of range
	print("Removed Packages:")
	for pkg in removals:
		print(pkg)

	print("Added Packages:")
	for pkg in adds:
		print(pkg)
	print
	print("Done.")

def usage():
	print(sys.argv[0] + " <history file> [start date] [end date]")
	print("Start date defaults to '0'.")
	print("End date defaults to 'now'.")
	print("Both dates should be specified as UNIX timestamps")
	print("(seconds since 1970-01-01 00:00:00 UTC)")
	print(doc)

if __name__ == "__main__":
	main()


[-- Attachment #1.5: find-cvs-adds-and-removals-mailer.sh --]
[-- Type: application/x-sh, Size: 1841 bytes --]

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 445 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
  2015-08-24 17:44   ` Robin H. Johnson
@ 2015-08-25  1:39     ` malc
  2015-08-25  3:17       ` Philip Webb
  0 siblings, 1 reply; 8+ messages in thread
From: malc @ 2015-08-25  1:39 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1381 bytes --]

Hi Robin,

Updated code and sample output :)

Cheers,
malc. (long-time lapsed dev.)

On Mon, Aug 24, 2015 at 6:44 PM, Robin H. Johnson <robbat2@gentoo.org> wrote:
> On Mon, Aug 24, 2015 at 09:48:16AM +0200, Patrice Clement wrote:
>> Monday 24 Aug 2015 00:05:20, Robin H. Johnson wrote :
>> > The attached list notes all of the packages that were added or removed
>> > from the tree, for the week ending 2015-08-23 23:59 UTC.
>> >
>> > Removals:
>> >
>> > Additions:
>> >
>> > --
>> > Robin Hugh Johnson
>> > Gentoo Linux Developer
>> > E-Mail     : robbat2@gentoo.org
>> > GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
>>
>> > Removed Packages:
>> > Added Packages:
>> > Done.
>> You should turn this off now. :)
>>
>> Btw, do you still need help with the same script but for Git?
> I said last week already, that would somebody please write a Git version
> of it. The prior one was very CVS-specific.
>
> The mailer part is already separate from the data-build part, so here's
> that data-build part if you wanted to integrate with the existing mail.
>
> I've attached all the scripts from the CVS version, so you can see how
> to slot in the Git code (replace the process.sh and .py script).
>
> --
> Robin Hugh Johnson
> Gentoo Linux: Developer, Infrastructure Lead
> E-Mail     : robbat2@gentoo.org
> GnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85

[-- Attachment #2: add-removals.1440975600.txt --]
[-- Type: text/plain, Size: 1373 bytes --]

Removals:
dev-java/burlap             	Mon Aug 24 17:21:42 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
dev-java/caucho-services    	Mon Aug 24 17:21:42 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
dev-java/jldap              	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
dev-java/openspml           	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
dev-java/openspml2          	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
dev-java/soap               	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>

Additions:
dev-go/go-md2man            	Mon Aug 24 17:59:21 2015 -0500	William Hubbs <williamh@gentoo.org>
dev-go/blackfriday          	Mon Aug 24 17:48:35 2015 -0500	William Hubbs <williamh@gentoo.org>
dev-go/sanitized-anchor-name	Mon Aug 24 17:43:23 2015 -0500	William Hubbs <williamh@gentoo.org>
x11-misc/kronometer         	Tue Aug 25 04:13:15 2015 +1000	Michael Palimaka <kensington@gentoo.org>
dev-python/packaging        	Mon Aug 24 09:15:07 2015 +0200	Justin Lecher <jlec@gentoo.org>
dev-python/progress         	Mon Aug 24 09:06:06 2015 +0200	Justin Lecher <jlec@gentoo.org>
dev-python/CacheControl     	Mon Aug 24 08:46:41 2015 +0200	Justin Lecher <jlec@gentoo.org>
dev-python/distlib          	Mon Aug 24 08:41:12 2015 +0200	Justin Lecher <jlec@gentoo.org>

[-- Attachment #3: find-git-adds-and-removals.py --]
[-- Type: text/x-python, Size: 3498 bytes --]

#!/usr/bin/env python2
# Authored by Alec Warner <antarus@gentoo.org>
# Significent modifications by Robin H Johnson <robbat2@gentoo.org>
# Modified for Git support by Malcolm Lashley <mlashley@gmail.com>
# Released under the GPL Version 2
# Copyright Gentoo Foundation 2006

# Changelog: Initial release 2006/10/27
#            Git Support     2015/08/25

doc = """
# Purpose: This script analyzes the git log output in an attempt to locate package
# additions and removals.  It takes 3 arguments; two of which are optional.  It needs
# the path to the repository to read.  If a start_date is not provided it will read
# the entire log and match any addition/removal.  If you provide a start date it will
# only match things that are after that start_date.  If you provide an end date you can
# find matches over date ranges.  If an end date is not provided it defaults to now()
"""

import sys, os, re, time, datetime, subprocess

new_package     = re.compile("^A\s+(.*)\/(.*)\/Manifest$")
removed_package = re.compile("^D\s+(.*)\/(.*)\/Manifest$")
author_re          = re.compile("^Author: (.*)")
date_re            = re.compile("^Date:\s+(.*)")

class record(object):
	def __init__(self, who, date, cp, op ):
		"""
		    Who is a string
		    date is whatever the crap git outputs for date string :)
		    cp is a category/package
		    op is "added", "removed", "moved"
		"""
		self.who = who
		self.date = date
		self.package = cp
		self.op = op

	def __str__( self ):
		#return "Package %s was %s by %s on %s" % (self.package, self.op, self.who, self.date)
		return "%s,%s,%s,%s" % (self.package, self.op, self.who, self.date)

	def cat (self):
		return self.package.split("/")[0]
	
	def pn (self):
		return self.package.split("/")[1]

	def date (self):
		return self.date
	
	def who (self):
		return self.who
	
	def op (self):
		return self.op


def main():
	if (len(sys.argv) < 2):
		usage()
		sys.exit(1)

	args = sys.argv[1:]
	repo_path = args[0]
	os.chdir(repo_path)

	if len(args) >= 2: 
		start_date = ["--after", args[1] ]
	else:
		start_date = []

	if len(args) >= 3:
		end_date = ["--before", args[2]]
	else:
		end_date = []

	p = subprocess.Popen(["git","log","--name-status"] + start_date + end_date,stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

	removals = []
	adds = []
	moves = []
	for line in iter(p.stdout.readline,''):
		match = author_re.match(line)
		if match:
			who = match.groups()[0]

		match = date_re.match(line)
		if match:
			date = match.groups()[0]

		match = new_package.match( line )
		if match:
			rec = record( who, date, match.groups()[0] + "/" + match.groups()[1], "added" )
			adds.append( rec )
			who = ""
			date = ""

		match = removed_package.match( line )
		if match:
			rec = record( who, date, match.groups()[0] + "/" + match.groups()[1], "removed" )
			removals.append( rec )
# Can't assume these can be re-initialized as git would allow multiple removes in 1 commit
#			who = ""
#			date = ""

	print("Removed Packages:")
	for pkg in removals:
		print(pkg)

	print("Added Packages:")
	for pkg in adds:
		print(pkg)
	print
	print("Done.")

def usage():
	print(sys.argv[0] + " <git repo path> [start date] [end date]")
	print("Start date defaults to '0'.")
	print("End date defaults to 'now'.")
	print("Both dates should be specified as anything git can parse...")
	print(doc)

if __name__ == "__main__":
	main()


[-- Attachment #4: find-git-adds-and-removals-process.sh --]
[-- Type: application/x-sh, Size: 855 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
  2015-08-25  1:39     ` malc
@ 2015-08-25  3:17       ` Philip Webb
  2015-08-25 12:10         ` malc
  0 siblings, 1 reply; 8+ messages in thread
From: Philip Webb @ 2015-08-25  3:17 UTC (permalink / raw
  To: gentoo-dev

150825 malc wrote:
> Updated code and sample output :)

-- snip --

> Removals:
> dev-java/burlap             	Mon Aug 24 17:21:42 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
> dev-java/caucho-services    	Mon Aug 24 17:21:42 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
> dev-java/jldap              	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
> dev-java/openspml           	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
> dev-java/openspml2          	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
> dev-java/soap               	Mon Aug 24 17:19:44 2015 +0200	Patrice Clement <monsieurp@gentoo.org>
> 
> Additions:
> dev-go/go-md2man            	Mon Aug 24 17:59:21 2015 -0500	William Hubbs <williamh@gentoo.org>
> dev-go/blackfriday          	Mon Aug 24 17:48:35 2015 -0500	William Hubbs <williamh@gentoo.org>
> dev-go/sanitized-anchor-name	Mon Aug 24 17:43:23 2015 -0500	William Hubbs <williamh@gentoo.org>
> x11-misc/kronometer         	Tue Aug 25 04:13:15 2015 +1000	Michael Palimaka <kensington@gentoo.org>
> dev-python/packaging        	Mon Aug 24 09:15:07 2015 +0200	Justin Lecher <jlec@gentoo.org>
> dev-python/progress         	Mon Aug 24 09:06:06 2015 +0200	Justin Lecher <jlec@gentoo.org>
> dev-python/CacheControl     	Mon Aug 24 08:46:41 2015 +0200	Justin Lecher <jlec@gentoo.org>
> dev-python/distlib          	Mon Aug 24 08:41:12 2015 +0200	Justin Lecher <jlec@gentoo.org>

-- snip --

Is there any possibility they could be sorted alphabetically ?

-- 
========================,,============================================
SUPPORT     ___________//___,   Philip Webb
ELECTRIC   /] [] [] [] [] []|   Cities Centre, University of Toronto
TRANSIT    `-O----------O---'   purslowatchassdotutorontodotca



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
  2015-08-25  3:17       ` Philip Webb
@ 2015-08-25 12:10         ` malc
  2015-08-25 12:47           ` Philip Webb
  0 siblings, 1 reply; 8+ messages in thread
From: malc @ 2015-08-25 12:10 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]

On Tue, Aug 25, 2015 at 4:17 AM, Philip Webb <purslow@ca.inter.net> wrote:
>
> Is there any possibility they could be sorted alphabetically ?

Yup, good suggestion. Updated wrapper attached - output now looks like:

Removals:
dev-java/burlap                 Mon Aug 24 17:21:42 2015 +0200
Patrice Clement <monsieurp@gentoo.org>
dev-java/caucho-services        Mon Aug 24 17:21:42 2015 +0200
Patrice Clement <monsieurp@gentoo.org>
dev-java/jldap                  Mon Aug 24 17:19:44 2015 +0200
Patrice Clement <monsieurp@gentoo.org>
dev-java/openspml               Mon Aug 24 17:19:44 2015 +0200
Patrice Clement <monsieurp@gentoo.org>
dev-java/openspml2              Mon Aug 24 17:19:44 2015 +0200
Patrice Clement <monsieurp@gentoo.org>
dev-java/soap                   Mon Aug 24 17:19:44 2015 +0200
Patrice Clement <monsieurp@gentoo.org>

Additions:
dev-go/blackfriday              Mon Aug 24 17:48:35 2015 -0500
William Hubbs <williamh@gentoo.org>
dev-go/go-md2man                Mon Aug 24 17:59:21 2015 -0500
William Hubbs <williamh@gentoo.org>
dev-go/sanitized-anchor-name    Mon Aug 24 17:43:23 2015 -0500
William Hubbs <williamh@gentoo.org>
dev-python/CacheControl         Mon Aug 24 08:46:41 2015 +0200  Justin
Lecher <jlec@gentoo.org>
dev-python/distlib              Mon Aug 24 08:41:12 2015 +0200  Justin
Lecher <jlec@gentoo.org>
dev-python/packaging            Mon Aug 24 09:15:07 2015 +0200  Justin
Lecher <jlec@gentoo.org>
dev-python/progress             Mon Aug 24 09:06:06 2015 +0200  Justin
Lecher <jlec@gentoo.org>
x11-misc/kronometer             Tue Aug 25 04:13:15 2015 +1000
Michael Palimaka <kensington@gentoo.org>

[-- Attachment #2: find-git-adds-and-removals-process.sh --]
[-- Type: application/x-sh, Size: 869 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
  2015-08-25 12:10         ` malc
@ 2015-08-25 12:47           ` Philip Webb
  2015-08-31 14:04             ` malc
  0 siblings, 1 reply; 8+ messages in thread
From: Philip Webb @ 2015-08-25 12:47 UTC (permalink / raw
  To: gentoo-dev

150825 malc wrote:
> On Tue, Aug 25, 2015 at 4:17 AM, Philip Webb <purslow@ca.inter.net> wrote:
>> Is there any possibility they could be sorted alphabetically ?
> Yup, good suggestion. Updated wrapper attached - output now looks like:

-- snip --

Thanks.

-- 
========================,,============================================
SUPPORT     ___________//___,   Philip Webb
ELECTRIC   /] [] [] [] [] []|   Cities Centre, University of Toronto
TRANSIT    `-O----------O---'   purslowatchassdotutorontodotca



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
  2015-08-25 12:47           ` Philip Webb
@ 2015-08-31 14:04             ` malc
  0 siblings, 0 replies; 8+ messages in thread
From: malc @ 2015-08-31 14:04 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 758 bytes --]

Fixed a bug in the python script where I forgot to remove the clearing
of 'who' (which breaks reporting multiple adds/removes in a single
commit.)


On Tue, Aug 25, 2015 at 1:47 PM, Philip Webb <purslow@ca.inter.net> wrote:
> 150825 malc wrote:
>> On Tue, Aug 25, 2015 at 4:17 AM, Philip Webb <purslow@ca.inter.net> wrote:
>>> Is there any possibility they could be sorted alphabetically ?
>> Yup, good suggestion. Updated wrapper attached - output now looks like:
>
> -- snip --
>
> Thanks.
>
> --
> ========================,,============================================
> SUPPORT     ___________//___,   Philip Webb
> ELECTRIC   /] [] [] [] [] []|   Cities Centre, University of Toronto
> TRANSIT    `-O----------O---'   purslowatchassdotutorontodotca
>
>

[-- Attachment #2: find-git-adds-and-removals.py --]
[-- Type: text/x-python, Size: 3350 bytes --]

#!/usr/bin/env python2
# Authored by Alec Warner <antarus@gentoo.org>
# Significent modifications by Robin H Johnson <robbat2@gentoo.org>
# Modified for Git support by Malcolm Lashley <mlashley@gmail.com>
# Released under the GPL Version 2
# Copyright Gentoo Foundation 2006

# Changelog: Initial release 2006/10/27
#            Git Support     2015/08/25

doc = """
# Purpose: This script analyzes the git log output in an attempt to locate package
# additions and removals.  It takes 3 arguments; two of which are optional.  It needs
# the path to the repository to read.  If a start_date is not provided it will read
# the entire log and match any addition/removal.  If you provide a start date it will
# only match things that are after that start_date.  If you provide an end date you can
# find matches over date ranges.  If an end date is not provided it defaults to now()
"""

import sys, os, re, time, datetime, subprocess

new_package     = re.compile("^A\s+(.*)\/(.*)\/Manifest$")
removed_package = re.compile("^D\s+(.*)\/(.*)\/Manifest$")
author_re          = re.compile("^Author: (.*)")
date_re            = re.compile("^Date:\s+(.*)")

class record(object):
	def __init__(self, who, date, cp, op ):
		"""
		    Who is a string
		    date is whatever the crap git outputs for date string :)
		    cp is a category/package
		    op is "added", "removed", "moved"
		"""
		self.who = who
		self.date = date
		self.package = cp
		self.op = op

	def __str__( self ):
		#return "Package %s was %s by %s on %s" % (self.package, self.op, self.who, self.date)
		return "%s,%s,%s,%s" % (self.package, self.op, self.who, self.date)

	def cat (self):
		return self.package.split("/")[0]
	
	def pn (self):
		return self.package.split("/")[1]

	def date (self):
		return self.date
	
	def who (self):
		return self.who
	
	def op (self):
		return self.op


def main():
	if (len(sys.argv) < 2):
		usage()
		sys.exit(1)

	args = sys.argv[1:]
	repo_path = args[0]
	os.chdir(repo_path)

	if len(args) >= 2: 
		start_date = ["--after", args[1] ]
	else:
		start_date = []

	if len(args) >= 3:
		end_date = ["--before", args[2]]
	else:
		end_date = []

	p = subprocess.Popen(["git","log","--name-status"] + start_date + end_date,stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

	removals = []
	adds = []
	moves = []
	for line in iter(p.stdout.readline,''):
		match = author_re.match(line)
		if match:
			who = match.groups()[0]

		match = date_re.match(line)
		if match:
			date = match.groups()[0]

		match = new_package.match( line )
		if match:
			rec = record( who, date, match.groups()[0] + "/" + match.groups()[1], "added" )
			adds.append( rec )

		match = removed_package.match( line )
		if match:
			rec = record( who, date, match.groups()[0] + "/" + match.groups()[1], "removed" )
			removals.append( rec )

	print("Removed Packages:")
	for pkg in removals:
		print(pkg)

	print("Added Packages:")
	for pkg in adds:
		print(pkg)
	print
	print("Done.")

def usage():
	print(sys.argv[0] + " <git repo path> [start date] [end date]")
	print("Start date defaults to '0'.")
	print("End date defaults to 'now'.")
	print("Both dates should be specified as anything git can parse...")
	print(doc)

if __name__ == "__main__":
	main()


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC
@ 2015-09-28  1:17 Robin H. Johnson
  0 siblings, 0 replies; 8+ messages in thread
From: Robin H. Johnson @ 2015-09-28  1:17 UTC (permalink / raw
  To: gentoo-dev, gentoo-dev-announce

[-- Attachment #1: Type: text/plain, Size: 1432 bytes --]

The attached list notes all of the packages that were added or removed
from the tree, for the week ending 2015-08-23 23:59 UTC.

Removals:
media-video/kdenlive          20150821-17:00 kensington    0b2c54f

Additions:
app-misc/resolve-march-native 20150821-19:28 sping         5149b8f
app-text/blogc                20150818-13:28 rafaelmartins 9d2a84f
dev-java/htmlcleaner          20150817-22:28 chewi         6357034
dev-java/vecmath              20150820-23:17 monsieurp     8727387
dev-libs/crossguid            20150820-12:50 vapier        a955f52
dev-ruby/websocket-extensions 20150819-05:24 graaff        0405664
dev-util/idea-ultimate        20150819-22:09 gert          fe70445
dev-vcs/blogc-git-receiver    20150823-17:15 rafaelmartins 27d81d2
kde-apps/kdenlive             20150820-18:37 kensington    ab07ca7
media-libs/libebur128         20150818-17:21 amynka        03e8055
media-libs/libgroove          20150819-18:37 sir.suriv     99a5d23
media-sound/helm              20150822-10:24 yngwin        81beda2
sci-physics/looptools         20150819-21:17 jauhien       43dbf09
sci-physics/rivet             20150821-18:22 jauhien       871c0ed
sci-physics/thepeg            20150823-12:42 jauhien       f68b678
sci-physics/yoda              20150820-04:54 jauhien       dae5155

--
Robin Hugh Johnson
Gentoo Linux Developer
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

[-- Attachment #2: add-removals.1440374400.log --]
[-- Type: text/plain, Size: 1039 bytes --]

Removed Packages:
media-video/kdenlive,removed,kensington,20150821-17:00,0b2c54f
Added Packages:
dev-vcs/blogc-git-receiver,added,rafaelmartins,20150823-17:15,27d81d2
sci-physics/thepeg,added,jauhien,20150823-12:42,f68b678
media-sound/helm,added,yngwin,20150822-10:24,81beda2
app-misc/resolve-march-native,added,sping,20150821-19:28,5149b8f
sci-physics/rivet,added,jauhien,20150821-18:22,871c0ed
dev-java/vecmath,added,monsieurp,20150820-23:17,8727387
media-libs/libgroove,added,sir.suriv,20150819-18:37,99a5d23
kde-apps/kdenlive,added,kensington,20150820-18:37,ab07ca7
dev-libs/crossguid,added,vapier,20150820-12:50,a955f52
sci-physics/yoda,added,jauhien,20150820-04:54,dae5155
dev-util/idea-ultimate,added,gert,20150819-22:09,fe70445
sci-physics/looptools,added,jauhien,20150819-21:17,43dbf09
dev-ruby/websocket-extensions,added,graaff,20150819-05:24,0405664
media-libs/libebur128,added,amynka,20150818-17:21,03e8055
app-text/blogc,added,rafaelmartins,20150818-13:28,9d2a84f
dev-java/htmlcleaner,added,chewi,20150817-22:28,6357034

Done.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-09-28  1:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-24  0:05 [gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-08-23 23:59 UTC Robin H. Johnson
     [not found] ` <20150824074816.GA8830@ultrachro.me>
2015-08-24 17:44   ` Robin H. Johnson
2015-08-25  1:39     ` malc
2015-08-25  3:17       ` Philip Webb
2015-08-25 12:10         ` malc
2015-08-25 12:47           ` Philip Webb
2015-08-31 14:04             ` malc
  -- strict thread matches above, loose matches on Subject: below --
2015-09-28  1:17 Robin H. Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox