Code Monkey home page Code Monkey logo

fedmsg_meta_fedora_infrastructure's Introduction

fedmsg_meta_fedora_infrastructure

fedmsg metadata providers for Fedora Infrastructure's deployment

fedmsg is a set of tools for knitting together services and webapps into a realtime messaging net. This package contains metadata provider plugins for the primary deployment of that system: Fedora Infrastructure.

If you were to deploy fedmsg at another site, you would like want to write your own module like this one that could provide textual representations of your messages.

Pop into #fedora-apps on freenode if you have questions or comments.

Build Status

Branch Status
master Build Status - master branch
develop Build Status - develop branch

Running the Tests

# Create a virtualenv and install deps
$ sudo dnf install python-virtualenv libffi-devel
$ virtualenv my-env
$ source my-env/bin/activate

# Install the dependencies
$ python setup.py develop

# Run the tests
$ pip install nose
$ $(which nosetests)

Building the Docs

# Install additional dependencies
$ pip install -r doc/requirements.txt
$ sphinx-build doc/ htmldocs/

fedmsg_meta_fedora_infrastructure's People

Contributors

adamwill avatar bkabrda avatar bowlofeggs avatar codenamesubho avatar danc86 avatar dnutiu avatar dtgay avatar elyscape avatar hammadhaleem avatar hroncok avatar inheritedburrp avatar jeremycline avatar johnbieren avatar lmacken avatar mizdebsk avatar mkrizek avatar msimacek avatar nphilipp avatar pranavk avatar puiterwijk avatar pypingou avatar ralphbean avatar relrod avatar sayanchowdhury avatar sinnykumari avatar stephencoady avatar suryateja0503 avatar tyll avatar vivekanand1101 avatar yograterol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fedmsg_meta_fedora_infrastructure's Issues

Elections link incorrect

Seen on #fedora-fedmsg

17:07:38 fedmsg-bot | fedora_elections.election.new -- toshio created election "fescof20.special" https://apps.fedoraproject.org/voting/about/fescof20.special/ 

The link is invalid so we should fix this

handle koji longform seconary arch stuff better

Some useful comments from irc:

 dgilmore │ threebean: I know what that fmn issue is
 dgilmore │ threebean: secondary arches directly import noarch only builds.
 dgilmore │ threebean: so there is no host
 dgilmore │ as there was no task to build it
 dgilmore │ threebean: there is no task id for those builds either
 dgilmore │ threebean: so "info = sess.getTaskInfo(taskid)" can not work
 dgilmore │ as there is no taskid
 dgilmore │ threebean: actually none of it should work
 dgilmore │ threebean: there also likely should not be a notification for it
 dgilmore │ threebean: http://paste.fedoraproject.org/204899/74073514/ see the output of getBuild
 dgilmore │ task_id == None
threebean │ secondary arch koji stuff is turned off for everyone by default.. but there's a couple people who want it and have it turned o
threebean │ dgilmore: those details help.  I'll file them away in the ticket for when I can circle back on it.
threebean │ thanks for digging into it :)
 dgilmore │ threebean: sure, but importing a noarch build should probably be skipped
        * │ threebean nods
 dgilmore │ threebean: at the least you should check if task_id is None and skip trying to get the details
threebean │ sounds good
 dgilmore │ and likely print something along the lines of imported noarch build from primary

Include meta fields of constituent messages in grouped message body

Right now, the grouped messages return a list of the msg_ids of the constituent messages. We should move to instead providing a dict of those msg_ids that map to further metadata (the subtitle of each message, the title, etc..).

I can see this being useful in lots of places -- imagine a UI that includes an "expand" button to expand a grouped message into a view of its constituents with links to each event.

This would break API, but AFAIK nothing out there yet relies on that msg_ids list.

This is for fedora-infra/mobile#42

Some logger messages cause msg2usernames to traceback

These ones in particular. We should add failing test cases for them to the test suite and then fix it after that.

{u'certificate': u'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVUekNDQTdpZ0F3SUJBZ0lCU1RBTkJna3Fo\na2lHOXcwQkFRVUZBRENCb0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKQ3pBSkJnTlZCQWdUQWs1RE1SQXdE\nZ1lEVlFRSEV3ZFNZV3hsYVdkb01SY3dGUVlEVlFRS0V3NUdaV1J2Y21FZwpVSEp2YW1WamRERVBN\nQTBHQTFVRUN4TUdabVZrYlhObk1ROHdEUVlEVlFRREV3Wm1aV1J0YzJjeER6QU5CZ05WCkJDa1RC\nbVpsWkcxelp6RW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFlXUnRhVzVBWm1Wa2IzSmhjSEp2YW1WamRD\nNXYKY21jd0hoY05NVEl3T1RJeU1Ua3pNRFU0V2hjTk1qSXdPVEl3TVRrek1EVTRXakNCM2pFTE1B\na0dBMVVFQmhNQwpWVk14Q3pBSkJnTlZCQWdUQWs1RE1SQXdEZ1lEVlFRSEV3ZFNZV3hsYVdkb01S\nY3dGUVlEVlFRS0V3NUdaV1J2CmNtRWdVSEp2YW1WamRERVBNQTBHQTFVRUN4TUdabVZrYlhObk1T\nNHdMQVlEVlFRREV5VmliMlJvYVMxeVpXeGwKYm1jd01TNXdhSGd5TG1abFpHOXlZWEJ5YjJwbFkz\nUXViM0puTVM0d0xBWURWUVFwRXlWaWIyUm9hUzF5Wld4bApibWN3TVM1d2FIZ3lMbVpsWkc5eVlY\nQnliMnBsWTNRdWIzSm5NU1l3SkFZSktvWklodmNOQVFrQkZoZGhaRzFwCmJrQm1aV1J2Y21Gd2Nt\nOXFaV04wTG05eVp6Q0JuekFOQmdrcWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUEKN2EvVTVJ\nK3oxaVRGbkRXaEErNmFsSmpOSXBVUVp5dWxzSmViL21LeTljOEJoL3pVYmNUbDRIYk5IQnM1b2VY\ncAo0VGVHVksydE11NXZ1Skt2cTFpZUY4empvay9KelVVM3A1d1RKdmVQRU5GWG5paTFIYVJ2VnhU\nbGVUM2JZRk8rCmtqSHNybXJ0MGtWK3NRMUlXVFhVRW1PZFNSU052Nm9TTllFT0lXTzdKS2NDQXdF\nQUFhT0NBVmN3Z2dGVE1Ba0cKQTFVZEV3UUNNQUF3TFFZSllJWklBWWI0UWdFTkJDQVdIa1ZoYzNr\ndFVsTkJJRWRsYm1WeVlYUmxaQ0JEWlhKMAphV1pwWTJGMFpUQWRCZ05WSFE0RUZnUVV0S3ViajBK\nbjdXMFhzRUN4YXI3SnVhWXlOYUl3Z2RVR0ExVWRJd1NCCnpUQ0J5b0FVYTBCYStSSUlpVm5uV2VV\nRjlRSWRDazUvRkFDaGdhYWtnYU13Z2FBeEN6QUpCZ05WQkFZVEFsVlQKTVFzd0NRWURWUVFJRXdK\nT1F6RVFNQTRHQTFVRUJ4TUhVbUZzWldsbmFERVhNQlVHQTFVRUNoTU9SbVZrYjNKaApJRkJ5YjJw\nbFkzUXhEekFOQmdOVkJBc1RCbVpsWkcxelp6RVBNQTBHQTFVRUF4TUdabVZrYlhObk1ROHdEUVlE\nClZRUXBFd1ptWldSdGMyY3hKakFrQmdrcWhraUc5dzBCQ1FFV0YyRmtiV2x1UUdabFpHOXlZWEJ5\nYjJwbFkzUXUKYjNKbmdna0E0MUFlUjA4WEhrVXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3\nQ3dZRFZSMFBCQVFEQWdlQQpNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBRy9yV0hIeHpCeURmaXlj\nUk5IZ1M2TjdGRFdkVy9xVUtYUHFYMzVPCjRZbStidnkzRXVORTBUOVBYaDhFT2I1Vy80V01iZC9z\nZXgrSkl2aGZma3R1MmZjcC9rdFNHbVpTd1dVanBsZU8KNVRmS3VNN3lhTk5jMzUzSGFSSDZlR096\nL2tqZVFIN2JLWC9QMk5meXlxdTU2VERkbExYVkxxQVh6cjBPa3lPTAo1QmxHCi0tLS0tRU5EIENF\nUlRJRklDQVRFLS0tLS0K\n', u'i': 1, u'timestamp': 1363818853.0, u'topic': u'org.fedoraproject.prod.logger.log', u'signature': u'K+tEYIW6R6QZs2ebjBjbMxOmx/J+4bcV1b9r3JEhhi55inWmwIYCMuRziChYZRBJcZ6Q9sq+xFLq\nur0SMuww76O+n1mdgP/L+XD5+5tOe7CNDhdcgF+kW9QR6Cn2ZHH/+R/N12kUBy8suRGZLyminY41\ncvp3pAE2bzxS4Qo5ogw=\n', u'msg': {u'log': u'testing (ralph)'}}
'username'
{u'certificate': u'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVUVENDQTdhZ0F3SUJBZ0lCWWpBTkJna3Fo\na2lHOXcwQkFRVUZBRENCb0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKQ3pBSkJnTlZCQWdUQWs1RE1SQXdE\nZ1lEVlFRSEV3ZFNZV3hsYVdkb01SY3dGUVlEVlFRS0V3NUdaV1J2Y21FZwpVSEp2YW1WamRERVBN\nQTBHQTFVRUN4TUdabVZrYlhObk1ROHdEUVlEVlFRREV3Wm1aV1J0YzJjeER6QU5CZ05WCkJDa1RC\nbVpsWkcxelp6RW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFlXUnRhVzVBWm1Wa2IzSmhjSEp2YW1WamRD\nNXYKY21jd0hoY05NVE13TXpBM01ETTBPVEV3V2hjTk1qTXdNekExTURNME9URXdXakNCM0RFTE1B\na0dBMVVFQmhNQwpWVk14Q3pBSkJnTlZCQWdUQWs1RE1SQXdEZ1lEVlFRSEV3ZFNZV3hsYVdkb01S\nY3dGUVlEVlFRS0V3NUdaV1J2CmNtRWdVSEp2YW1WamRERVBNQTBHQTFVRUN4TUdabVZrYlhObk1T\nMHdLd1lEVlFRREV5UmliMlJvYVMxaGNtMHQKYUhWaU1ERXVjV0V1Wm1Wa2IzSmhjSEp2YW1WamRD\nNXZjbWN4TFRBckJnTlZCQ2tUSkdKdlpHaHBMV0Z5YlMxbwpkV0l3TVM1eFlTNW1aV1J2Y21Gd2Nt\nOXFaV04wTG05eVp6RW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFlXUnRhVzVBClptVmtiM0poY0hKdmFt\nVmpkQzV2Y21jd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFPRGEKc0FDRDFQ\nUU1aWnNEdldocnZTOEVzUGx3TXN3QitTK1p4M3dhYWVlY0ZuRCtRbUJDcWZVZHFKNnp4UXZLdHNy\ndwpCRGF2RnY5QmhNSGpoeFJ5bFBGRlFiMWpqYTVPMEE5aUwvZXBSYVJzeXpxKzFOVC9xcmhpaHQ0\nYklIOG1FVkZkCkZYU29Eck40c25pMWloYk9Kd3FzQzR4KzM2NE9ETUhpVTRibFBhVlRBZ01CQUFH\namdnRlhNSUlCVXpBSkJnTlYKSFJNRUFqQUFNQzBHQ1dDR1NBR0crRUlCRFFRZ0ZoNUZZWE41TFZK\nVFFTQkhaVzVsY21GMFpXUWdRMlZ5ZEdsbQphV05oZEdVd0hRWURWUjBPQkJZRUZBOGgvclpOQlls\nSnBQZXEvOVRVaXdqUEY3VVhNSUhWQmdOVkhTTUVnYzB3CmdjcUFGR3RBV3ZrU0NJbFo1MW5sQmZV\nQ0hRcE9meFFBb1lHbXBJR2pNSUdnTVFzd0NRWURWUVFHRXdKVlV6RUwKTUFrR0ExVUVDQk1DVGtN\neEVEQU9CZ05WQkFjVEIxSmhiR1ZwWjJneEZ6QVZCZ05WQkFvVERrWmxaRzl5WVNCUQpjbTlxWldO\nME1ROHdEUVlEVlFRTEV3Wm1aV1J0YzJjeER6QU5CZ05WQkFNVEJtWmxaRzF6WnpFUE1BMEdBMVVF\nCktSTUdabVZrYlhObk1TWXdKQVlKS29aSWh2Y05BUWtCRmhkaFpHMXBia0JtWldSdmNtRndjbTlx\nWldOMExtOXkKWjRJSkFPTlFIa2RQRng1Rk1CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUNNQXNH\nQTFVZER3UUVBd0lIZ0RBTgpCZ2txaGtpRzl3MEJBUVVGQUFPQmdRQ05JWTAwQzErYUlGWjgzSmti\neTF1Q2JTNVQyTjZCbGQvZGY5Y2lDL3d2CmNBb0NhWXNML3hLalNDVllhMXVVRVNNc3BZNndBTVFm\nRENuTHdkbk5TU1VnQy94ZmZDV3ZzZWM5VHZ2MWJxNDkKcnk3SXZJWUNHZm5LN1hIVzlic21tTllr\nb0NrNlRGMmNxVUtwL1pPK0NDZGZmeFlyTTVFQVJqdUpHNjl5bmcxWgpRUT09Ci0tLS0tRU5EIENF\nUlRJRklDQVRFLS0tLS0K\n', u'i': 1, u'timestamp': 1364312940.0, u'topic': u'org.fedoraproject.prod.logger.log', u'signature': u'lAFmkJkL8bWZROn8aCLgUhBMDA9a1sCjG8KRyYHh/naGW6Rh9CzRuMCK9Lw4AXH5dtqhpDHoEbKE\nSG0Xe3odn8AI+k1q2q1BFkItcdos5oIwUhMzT1L86+d9jLAaV9mEF3YeU7jbu3SY/STYsvBU2kis\nHoTx6+dYOIfewQCWAl4=\n', u'msg': {u'log': u'hello world'}}
'username'
{u'certificate': u'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVVekNDQTd5Z0F3SUJBZ0lCWURBTkJna3Fo\na2lHOXcwQkFRVUZBRENCb0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKQ3pBSkJnTlZCQWdUQWs1RE1SQXdE\nZ1lEVlFRSEV3ZFNZV3hsYVdkb01SY3dGUVlEVlFRS0V3NUdaV1J2Y21FZwpVSEp2YW1WamRERVBN\nQTBHQTFVRUN4TUdabVZrYlhObk1ROHdEUVlEVlFRREV3Wm1aV1J0YzJjeER6QU5CZ05WCkJDa1RC\nbVpsWkcxelp6RW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFlXUnRhVzVBWm1Wa2IzSmhjSEp2YW1WamRD\nNXYKY21jd0hoY05NVE13TXpBM01ETTBPRFEyV2hjTk1qTXdNekExTURNME9EUTJXakNCNGpFTE1B\na0dBMVVFQmhNQwpWVk14Q3pBSkJnTlZCQWdUQWs1RE1SQXdEZ1lEVlFRSEV3ZFNZV3hsYVdkb01S\nY3dGUVlEVlFRS0V3NUdaV1J2CmNtRWdVSEp2YW1WamRERVBNQTBHQTFVRUN4TUdabVZrYlhObk1U\nQXdMZ1lEVlFRREV5ZGliMlJvYVMxd2NHTXQKWTI5dGNHOXpaWEl1Y1dFdVptVmtiM0poY0hKdmFt\nVmpkQzV2Y21jeE1EQXVCZ05WQkNrVEoySnZaR2hwTFhCdwpZeTFqYjIxd2IzTmxjaTV4WVM1bVpX\nUnZjbUZ3Y205cVpXTjBMbTl5WnpFbU1DUUdDU3FHU0liM0RRRUpBUllYCllXUnRhVzVBWm1Wa2Iz\nSmhjSEp2YW1WamRDNXZjbWN3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0oKQW9HQkFN\nbWw4amxZQ3U0bjBZakJwblBMZyttOG5hZ1ZkN0ZsOXdzQ1FQeFZ0UCs5c1JHRitFa1J6QStpcXBZ\nWgpBZlRHQXB3c1YyTFViYkRpYStDOFdsVmNGSmVzNUlFTlY0Y09RMjg2ZkVmVTRSand1Z1FyTnd6\neWgrRDVSeVRaCjNDTlBhaU1aQlJLTmVFbEpkMHg5MVJyMXRLRGdEcEVNV0pRWEYza3BvcDZFd1I1\nbEFnTUJBQUdqZ2dGWE1JSUIKVXpBSkJnTlZIUk1FQWpBQU1DMEdDV0NHU0FHRytFSUJEUVFnRmg1\nRllYTjVMVkpUUVNCSFpXNWxjbUYwWldRZwpRMlZ5ZEdsbWFXTmhkR1V3SFFZRFZSME9CQllFRkRu\nVEpIRldrOXVKQWFGZlBFeHFqM0VnMGw0Tk1JSFZCZ05WCkhTTUVnYzB3Z2NxQUZHdEFXdmtTQ0ls\nWjUxbmxCZlVDSFFwT2Z4UUFvWUdtcElHak1JR2dNUXN3Q1FZRFZRUUcKRXdKVlV6RUxNQWtHQTFV\nRUNCTUNUa014RURBT0JnTlZCQWNUQjFKaGJHVnBaMmd4RnpBVkJnTlZCQW9URGtabApaRzl5WVNC\nUWNtOXFaV04wTVE4d0RRWURWUVFMRXdabVpXUnRjMmN4RHpBTkJnTlZCQU1UQm1abFpHMXpaekVQ\nCk1BMEdBMVVFS1JNR1ptVmtiWE5uTVNZd0pBWUpLb1pJaHZjTkFRa0JGaGRoWkcxcGJrQm1aV1J2\nY21Gd2NtOXEKWldOMExtOXlaNElKQU9OUUhrZFBGeDVGTUJNR0ExVWRKUVFNTUFvR0NDc0dBUVVG\nQndNQ01Bc0dBMVVkRHdRRQpBd0lIZ0RBTkJna3Foa2lHOXcwQkFRVUZBQU9CZ1FCaXQrN2JZSG9B\nMDZmcGRyVUdiVW9YOFVRdllYbXg4TERSClJWeUozcEw4WFBFcW5IQVlaUlhEVElyS05hWWVPQlpo\nUmJ4UStxT3B3ZUxWQ1k5YWd2QmpRczFTR3hJTEZVeWQKQXFWaGZjVDE1WTdpdEhlNkxucEk4eWtn\nYTFFOW54SzlTVGxWc3U0OTdiM0RVYlIzRDNOY3hwNkJyUmhxVXpHbgpuVHREc21NTm1RPT0KLS0t\nLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\n', u'i': 1, u'timestamp': 1364313160.0, u'topic': u'org.fedoraproject.prod.logger.log', u'signature': u'KsVnGPsCo1Kotd3thQerO7+V3zF5XknzpYM6BcE2oXNs3QkeR2TgpwQ9RvDQQ41dx/G01T74XCCh\nBRJCrCebkMNy7PYpgeFbn7ci6MwhC750bqRdfAr+aiWUL6iv69jDaVSVnP+MNwaqUTnEpFU4I2ZY\nLtOi1g3t96YAOOfDPcw=\n', u'msg': {u'log': u'hello world - ppc'}}
'username'
{u'certificate': u'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVUekNDQTdpZ0F3SUJBZ0lCWVRBTkJna3Fo\na2lHOXcwQkFRVUZBRENCb0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKQ3pBSkJnTlZCQWdUQWs1RE1SQXdE\nZ1lEVlFRSEV3ZFNZV3hsYVdkb01SY3dGUVlEVlFRS0V3NUdaV1J2Y21FZwpVSEp2YW1WamRERVBN\nQTBHQTFVRUN4TUdabVZrYlhObk1ROHdEUVlEVlFRREV3Wm1aV1J0YzJjeER6QU5CZ05WCkJDa1RC\nbVpsWkcxelp6RW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFlXUnRhVzVBWm1Wa2IzSmhjSEp2YW1WamRD\nNXYKY21jd0hoY05NVE13TXpBM01ETTBPVEF4V2hjTk1qTXdNekExTURNME9UQXhXakNCM2pFTE1B\na0dBMVVFQmhNQwpWVk14Q3pBSkJnTlZCQWdUQWs1RE1SQXdEZ1lEVlFRSEV3ZFNZV3hsYVdkb01S\nY3dGUVlEVlFRS0V3NUdaV1J2CmNtRWdVSEp2YW1WamRERVBNQTBHQTFVRUN4TUdabVZrYlhObk1T\nNHdMQVlEVlFRREV5VmliMlJvYVMxek16a3cKTFdoMVlqQXhMbkZoTG1abFpHOXlZWEJ5YjJwbFkz\nUXViM0puTVM0d0xBWURWUVFwRXlWaWIyUm9hUzF6TXprdwpMV2gxWWpBeExuRmhMbVpsWkc5eVlY\nQnliMnBsWTNRdWIzSm5NU1l3SkFZSktvWklodmNOQVFrQkZoZGhaRzFwCmJrQm1aV1J2Y21Gd2Nt\nOXFaV04wTG05eVp6Q0JuekFOQmdrcWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUEKNGZ1L1V2\nQythM29ONi9NakhTRC9vUGo3eG9kTXFnemNMWVkzL1djbjlLTFZ6dUZnTXd3WnpjM2lwQXNEdjRF\nWgplQWtuRmZVc0sxUGcyaEhmcjkvQ3FldU5rRU1SOHRFS1puNm9BN2swZCs2Vmh3azQwaUtoTUxm\nUUxtNUgyV3N4CmsrZmlIUy9vNXZIUjhaOWNIMXF6dUdlbkJ4V2l0S3dERzdCN3prWDNhNThDQXdF\nQUFhT0NBVmN3Z2dGVE1Ba0cKQTFVZEV3UUNNQUF3TFFZSllJWklBWWI0UWdFTkJDQVdIa1ZoYzNr\ndFVsTkJJRWRsYm1WeVlYUmxaQ0JEWlhKMAphV1pwWTJGMFpUQWRCZ05WSFE0RUZnUVU4b09DNzZL\nSmdVNzlHck5pTGhLR2tRN1F6Wnd3Z2RVR0ExVWRJd1NCCnpUQ0J5b0FVYTBCYStSSUlpVm5uV2VV\nRjlRSWRDazUvRkFDaGdhYWtnYU13Z2FBeEN6QUpCZ05WQkFZVEFsVlQKTVFzd0NRWURWUVFJRXdK\nT1F6RVFNQTRHQTFVRUJ4TUhVbUZzWldsbmFERVhNQlVHQTFVRUNoTU9SbVZrYjNKaApJRkJ5YjJw\nbFkzUXhEekFOQmdOVkJBc1RCbVpsWkcxelp6RVBNQTBHQTFVRUF4TUdabVZrYlhObk1ROHdEUVlE\nClZRUXBFd1ptWldSdGMyY3hKakFrQmdrcWhraUc5dzBCQ1FFV0YyRmtiV2x1UUdabFpHOXlZWEJ5\nYjJwbFkzUXUKYjNKbmdna0E0MUFlUjA4WEhrVXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3\nQ3dZRFZSMFBCQVFEQWdlQQpNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBTE5MU09BTy9hUFMvRG9P\nRXNNeFZUSjJKYlhhdlNkSVYxRTVmeE1UCkZGYXRDdkZpYzRSNm14VXY2clBsSGNnZnVxR1dJNW5C\najREZHBEK2p0WTJTV056UTk0RnVSN3loUTZMYmRnYUoKQVlPNXQzb0JCZG1zR3c0YTR4clZPNjE4\nZUNGb0lxcmdrSDk0QlVqWUNJVktmY1FDcXBSdjY4WG5kUmNHcGZzaQp0bDlBCi0tLS0tRU5EIENF\nUlRJRklDQVRFLS0tLS0K\n', u'i': 1, u'timestamp': 1364313332.0, u'topic': u'org.fedoraproject.prod.logger.log', u'signature': u'Ckjm+y3vXfG/J2AZqvqpPY5AI5C+K/4wb3evOL3kFe7dJDZBnefLyZJ3nGk/kgcQMpgMZNspwUoD\nhsf/rVBY3xSAbgXsWL5h1H+PY6mJpTt9Qf1wsKfXE/pf7nEmd7yWxltc8gTYRvrDurdMmJIFRNKo\nhnwUzBulEy4BgSBV35o=\n', u'msg': {u'log': u'hello world - s390'}}
'username'
{u'certificate': u'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVUekNDQTdpZ0F3SUJBZ0lCWVRBTkJna3Fo\na2lHOXcwQkFRVUZBRENCb0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKQ3pBSkJnTlZCQWdUQWs1RE1SQXdE\nZ1lEVlFRSEV3ZFNZV3hsYVdkb01SY3dGUVlEVlFRS0V3NUdaV1J2Y21FZwpVSEp2YW1WamRERVBN\nQTBHQTFVRUN4TUdabVZrYlhObk1ROHdEUVlEVlFRREV3Wm1aV1J0YzJjeER6QU5CZ05WCkJDa1RC\nbVpsWkcxelp6RW1NQ1FHQ1NxR1NJYjNEUUVKQVJZWFlXUnRhVzVBWm1Wa2IzSmhjSEp2YW1WamRD\nNXYKY21jd0hoY05NVE13TXpBM01ETTBPVEF4V2hjTk1qTXdNekExTURNME9UQXhXakNCM2pFTE1B\na0dBMVVFQmhNQwpWVk14Q3pBSkJnTlZCQWdUQWs1RE1SQXdEZ1lEVlFRSEV3ZFNZV3hsYVdkb01S\nY3dGUVlEVlFRS0V3NUdaV1J2CmNtRWdVSEp2YW1WamRERVBNQTBHQTFVRUN4TUdabVZrYlhObk1T\nNHdMQVlEVlFRREV5VmliMlJvYVMxek16a3cKTFdoMVlqQXhMbkZoTG1abFpHOXlZWEJ5YjJwbFkz\nUXViM0puTVM0d0xBWURWUVFwRXlWaWIyUm9hUzF6TXprdwpMV2gxWWpBeExuRmhMbVpsWkc5eVlY\nQnliMnBsWTNRdWIzSm5NU1l3SkFZSktvWklodmNOQVFrQkZoZGhaRzFwCmJrQm1aV1J2Y21Gd2Nt\nOXFaV04wTG05eVp6Q0JuekFOQmdrcWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUEKNGZ1L1V2\nQythM29ONi9NakhTRC9vUGo3eG9kTXFnemNMWVkzL1djbjlLTFZ6dUZnTXd3WnpjM2lwQXNEdjRF\nWgplQWtuRmZVc0sxUGcyaEhmcjkvQ3FldU5rRU1SOHRFS1puNm9BN2swZCs2Vmh3azQwaUtoTUxm\nUUxtNUgyV3N4CmsrZmlIUy9vNXZIUjhaOWNIMXF6dUdlbkJ4V2l0S3dERzdCN3prWDNhNThDQXdF\nQUFhT0NBVmN3Z2dGVE1Ba0cKQTFVZEV3UUNNQUF3TFFZSllJWklBWWI0UWdFTkJDQVdIa1ZoYzNr\ndFVsTkJJRWRsYm1WeVlYUmxaQ0JEWlhKMAphV1pwWTJGMFpUQWRCZ05WSFE0RUZnUVU4b09DNzZL\nSmdVNzlHck5pTGhLR2tRN1F6Wnd3Z2RVR0ExVWRJd1NCCnpUQ0J5b0FVYTBCYStSSUlpVm5uV2VV\nRjlRSWRDazUvRkFDaGdhYWtnYU13Z2FBeEN6QUpCZ05WQkFZVEFsVlQKTVFzd0NRWURWUVFJRXdK\nT1F6RVFNQTRHQTFVRUJ4TUhVbUZzWldsbmFERVhNQlVHQTFVRUNoTU9SbVZrYjNKaApJRkJ5YjJw\nbFkzUXhEekFOQmdOVkJBc1RCbVpsWkcxelp6RVBNQTBHQTFVRUF4TUdabVZrYlhObk1ROHdEUVlE\nClZRUXBFd1ptWldSdGMyY3hKakFrQmdrcWhraUc5dzBCQ1FFV0YyRmtiV2x1UUdabFpHOXlZWEJ5\nYjJwbFkzUXUKYjNKbmdna0E0MUFlUjA4WEhrVXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3\nQ3dZRFZSMFBCQVFEQWdlQQpNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBTE5MU09BTy9hUFMvRG9P\nRXNNeFZUSjJKYlhhdlNkSVYxRTVmeE1UCkZGYXRDdkZpYzRSNm14VXY2clBsSGNnZnVxR1dJNW5C\najREZHBEK2p0WTJTV056UTk0RnVSN3loUTZMYmRnYUoKQVlPNXQzb0JCZG1zR3c0YTR4clZPNjE4\nZUNGb0lxcmdrSDk0QlVqWUNJVktmY1FDcXBSdjY4WG5kUmNHcGZzaQp0bDlBCi0tLS0tRU5EIENF\nUlRJRklDQVRFLS0tLS0K\n', u'i': 1, u'timestamp': 1364314630.0, u'topic': u'org.fedoraproject.prod.logger.log', u'signature': u'yzBdKuu8P4L+KX8k6EVX/Xe2mAtgqPtFPxB3PG8KAR22bUaRrqPK5agkbWcaXoZgkfVHL6RO3IyE\njEi8ZA7kpMVZSL1pAO82bxLOJ9sVdvE2b3UagEdjtjuuGEfpLUBmKNtBI5lQOYe04vYp12P4RqhA\nekG6clspBaytVVujz/I=\n', u'msg': {u'log': u'hello world - s390'}}

Bug in the 'elections' metadata processor

This message

{'body': {u'username': u'apache', u'certificate': u'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUViRENDQTlXZ0F3SUJBZ0lDQWFzd0RRWUpL\nb1pJaHZjTkFRRUZCUUF3Z2FBeEN6QUpCZ05WQkFZVEFsVlQKTVFzd0NRWURWUVFJRXdKT1F6RVFN\nQTRHQTFVRUJ4TUhVbUZzWldsbmFERVhNQlVHQTFVRUNoTU9SbVZrYjNKaApJRkJ5YjJwbFkzUXhE\nekFOQmdOVkJBc1RCbVpsWkcxelp6RVBNQTBHQTFVRUF4TUdabVZrYlhObk1ROHdEUVlEClZRUXBF\nd1ptWldSdGMyY3hKakFrQmdrcWhraUc5dzBCQ1FFV0YyRmtiV2x1UUdabFpHOXlZWEJ5YjJwbFkz\nUXUKYjNKbk1CNFhEVEUwTURZeE5qRTFNRGd4TWxvWERUSTBNRFl4TXpFMU1EZ3hNbG93Z2ZveEN6\nQUpCZ05WQkFZVApBbFZUTVFzd0NRWURWUVFJRXdKT1F6RVFNQTRHQTFVRUJ4TUhVbUZzWldsbmFE\nRVhNQlVHQTFVRUNoTU9SbVZrCmIzSmhJRkJ5YjJwbFkzUXhEekFOQmdOVkJBc1RCbVpsWkcxelp6\nRThNRG9HQTFVRUF4UXpabVZrYjNKaFgyVnMKWldOMGFXOXVjeTFsYkdWamRHbHZibk13TVM1d2FI\nZ3lMbVpsWkc5eVlYQnliMnBsWTNRdWIzSm5NVHd3T2dZRApWUVFwRkRObVpXUnZjbUZmWld4bFkz\nUnBiMjV6TFdWc1pXTjBhVzl1Y3pBeExuQm9lREl1Wm1Wa2IzSmhjSEp2CmFtVmpkQzV2Y21jeEpq\nQWtCZ2txaGtpRzl3MEJDUUVXRjJGa2JXbHVRR1psWkc5eVlYQnliMnBsWTNRdWIzSm4KTUlHZk1B\nM!
 EdDU3FHU0
 liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEUmVwbkVRcHBPTDNIRmhveFQ1UzkxRTds\nTwo5cXdDVkN0WXpqbXFpanR5WkFrRzNhV3pmVHVVTXp5cEJpZVdLNlQwcmczeDVCaE14RkRGdWR5\neTZHVnN0d0Y3CnRNMjdkdDdjM2M0V0lLb0RhbTJmN21uOEdiK1dHQ3QzSzIvZHlkdlJBMzdvaFYy\naUhCU2tVNVlFTnBPUUdNMC8KTFFoRCs0TVZaa3RZb3F2UVh3SURBUUFCbzRJQlZ6Q0NBVk13Q1FZ\nRFZSMFRCQUl3QURBdEJnbGdoa2dCaHZoQwpBUTBFSUJZZVJXRnplUzFTVTBFZ1IyVnVaWEpoZEdW\na0lFTmxjblJwWm1sallYUmxNQjBHQTFVZERnUVdCQlNiCnhTS1UreFF1Y25Cdktra0Zmam04dUly\ndElUQ0IxUVlEVlIwakJJSE5NSUhLZ0JSclFGcjVFZ2lKV2VkWjVRWDEKQWgwS1RuOFVBS0dCcHFT\nQm96Q0JvREVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrNURNUkF3RGdZRApWUVFIRXdk\nU1lXeGxhV2RvTVJjd0ZRWURWUVFLRXc1R1pXUnZjbUVnVUhKdmFtVmpkREVQTUEwR0ExVUVDeE1H\nClptVmtiWE5uTVE4d0RRWURWUVFERXdabVpXUnRjMmN4RHpBTkJnTlZCQ2tUQm1abFpHMXpaekVt\nTUNRR0NTcUcKU0liM0RRRUpBUllYWVdSdGFXNUFabVZrYjNKaGNISnZhbVZqZEM1dmNtZUNDUURq\nVUI1SFR4Y2VSVEFUQmdOVgpIU1VFRERBS0JnZ3JCZ0VGQlFjREFqQUxCZ05WSFE4RUJBTUNCNEF3\nRFFZSktvWklodmNOQVFFRkJRQURnWUVBCkVONlk1OG5PbjllTnFVRE14aTlmaz!
 U4dUdFK0d
 WTkxR\nUDdnS2hjbmJ1TE5CRzlXdVhwcVZlNElnR2xBVk5ab2UKQXVreVFCUGIxK2pwUDV3eXFrcm9RV1Vt\neVZ3TW80b2sySG1YWklZc2dIV0JBaDluQy9FNXEwUlkxbE5YdWZScAozK2ZTZS9ldFN3R0dsVWNI\nWiszY0JPbWRHQTFYbXRUWE9BQ0ZqRXFVSDZvPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\n', u'i': 2, u'timestamp': 1416208425, u'msg_id': u'2014-6a4e287c-a65f-488f-8ba7-5b454a50642c', u'crypto': u'x509', u'topic': u'org.fedoraproject.prod.fedora_elections.election.new', u'signature': u'L53HZpsrT5Nr5KjE5VmhFKak3FjdnwLFeZDH9/Xwi+7tEee1bpDLZXXhd5ONEXaFmaGlAIWZg6t/\nQN7f5+KWXsDQJfJ8BWqWRV23/oKset+2kcQxmP6hMnUzs03RhiiwZqrlnq6YJp0qwrasISY4OdBm\nIYX25J0DFnSpONy6/fQ=\n', u'msg': {u'max_votes': None, u'votes': [], u'description': u'The Fedora Council is our top-level community leadership and governance body. It is responsible for stewardship of the Fedora Project as a whole, and supports the health and growth of the Fedora Community. ', u'end_date': 1417046399.0, u'url': u'http://fedoraproject.org/wiki/Council/Nominations', u'id': 65!
 , u'legal
 _voters': [{u'id': 67, u'election_id': 65, u'election': 65, u'group_name': u'anycla'}], u'shortdesc': u'Council - November 2014', u'candidates_are_fasusers': 1, u'alias': u'council-nov14', u'admin_groups': [], u'start_date': 1416268800.0, u'fas_user': u'jreznik', u'candidates': [], u'voting_type': u'range', u'seats_elected': 2, u'embargoed': 1}}, 'topic': u'org.fedoraproject.prod.fedora_elections.election.new'}

caused this error:

  File "/usr/lib64/python2.7/threading.py", line 784 in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.7/threading.py", line 811 in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 764 in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/twisted/python/threadpool.py", line 167 in _worker
    result = context.call(ctx, function, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118 in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81 in callWithContext
    return func(*args,**kw)
  File "/usr/lib/python2.7/site-packages/moksha/hub/api/consumer.py", line 192 in _work
    self.log.exception(message)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/moksha/hub/api/consumer.py", line 190, in _work
    self.consume(message)
  File "/usr/lib/python2.7/site-packages/fmn/consumer/consumer.py", line 68, in consume
    self.work(session, raw_msg)
  File "/usr/lib/python2.7/site-packages/fmn/consumer/consumer.py", line 156, in work
    backend.handle(session, recipient, msg)
  File "/usr/lib/python2.7/site-packages/fmn/consumer/backends/irc.py", line 195, in handle
    message = _format_message(msg, recipient, self.config)
  File "/usr/lib/python2.7/site-packages/fmn/consumer/backends/irc.py", line 63, in _format_message
    subtitle = fedmsg.meta.msg2subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 133, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 152, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 227, in msg2subtitle
    return processor.subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/elections.py", line 38, in subtitle
    name=msg['msg']['election']['alias'],
KeyError: 'election'

Correct the user field at endmeeting

Currently, the user field in meeting.complete is set to the username of the person that started the meeting instead of the person that ended the meeting.

tagger tests have no rank change test

When a user's rank changes on fedoratagger, the following message is emitted.

{
  "i": 1, 
  "msg": {
    "user": {
      "username": "ralph", 
      "votes": 1, 
      "rank": 1
    }
  }, 
  "topic": "org.fedoraproject.dev.fedoratagger.user.rank.update", 
  "username": "threebean", 
  "timestamp": 1365440593.754914
}

We should probably have a test for that in the test suite. With that, it will also show up at http://fedmsg.com/en/latest/topics/

broken pkgdb messages

We got this error email in staging today:

  File "/usr/lib64/python2.6/threading.py", line 504 in __bootstrap
    self.__bootstrap_inner()
  File "/usr/lib64/python2.6/threading.py", line 532 in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.6/threading.py", line 484 in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.6/site-packages/twisted/python/threadpool.py", line 210 in _worker
    result = context.call(ctx, function, *args, **kwargs)
  File "/usr/lib64/python2.6/site-packages/twisted/python/context.py", line 59 in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib64/python2.6/site-packages/twisted/python/context.py", line 37 in callWithContext
    return func(*args,**kw)
  File "/usr/lib/python2.6/site-packages/moksha/hub/api/consumer.py", line 192 in _work
    self.log.exception(message)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/moksha/hub/api/consumer.py", line 190, in _work
    self.consume(message)
  File "/usr/lib/python2.6/site-packages/fedmsg/consumers/ircbot.py", line 321, in consume
    short=client.factory.short,
  File "/usr/lib/python2.6/site-packages/fedmsg/consumers/ircbot.py", line 271, in prettify
    link = fedmsg.meta.msg2link(msg, **self.hub.config)
  File "/usr/lib/python2.6/site-packages/fedmsg/meta/__init__.py", line 137, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.6/site-packages/fedmsg/meta/__init__.py", line 156, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.6/site-packages/fedmsg/meta/__init__.py", line 252, in msg2link
    return processor.link(msg, **config)
  File "/usr/lib/python2.6/site-packages/fedmsg_meta_fedora_infrastructure/pkgdb.py", line 533, in link
    package=msg['msg']['package_listing']['package']['name']
KeyError: 'package_listing'

Here's the message that triggered it:

{
    "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVWakNDQTcrZ0F3SUJBZ0lDQVQwd0RRWUpL\nb1pJaHZjTkFRRUZCUUF3Z2FBeEN6QUpCZ05WQkFZVEFsVlQKTVFzd0NRWURWUVFJRXdKT1F6RVFN\nQTRHQTFVRUJ4TUhVbUZzWldsbmFERVhNQlVHQTFVRUNoTU9SbVZrYjNKaApJRkJ5YjJwbFkzUXhE\nekFOQmdOVkJBc1RCbVpsWkcxelp6RVBNQTBHQTFVRUF4TUdabVZrYlhObk1ROHdEUVlEClZRUXBF\nd1ptWldSdGMyY3hKakFrQmdrcWhraUc5dzBCQ1FFV0YyRmtiV2x1UUdabFpHOXlZWEJ5YjJwbFkz\nUXUKYjNKbk1CNFhEVEUwTURReU16RTBNekF3TUZvWERUSTBNRFF5TURFME16QXdNRm93Z2VReEN6\nQUpCZ05WQkFZVApBbFZUTVFzd0NRWURWUVFJRXdKT1F6RVFNQTRHQTFVRUJ4TUhVbUZzWldsbmFE\nRVhNQlVHQTFVRUNoTU9SbVZrCmIzSmhJRkJ5YjJwbFkzUXhEekFOQmdOVkJBc1RCbVpsWkcxelp6\nRXhNQzhHQTFVRUF4TW9jR3RuWkdJdGNHdG4KWkdJd01TNXpkR2N1Y0doNE1pNW1aV1J2Y21Gd2Nt\nOXFaV04wTG05eVp6RXhNQzhHQTFVRUtSTW9jR3RuWkdJdApjR3RuWkdJd01TNXpkR2N1Y0doNE1p\nNW1aV1J2Y21Gd2NtOXFaV04wTG05eVp6RW1NQ1FHQ1NxR1NJYjNEUUVKCkFSWVhZV1J0YVc1QVpt\nVmtiM0poY0hKdmFtVmpkQzV2Y21jd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEEKTUlHSkFv\nR0JBTnkrTFduVTZ2eGc1MThmTFpvQkdKZXB2cmN5NkpHMVhHQmMwcGtJOTVLRkhJS0pNU0NTdm1G\nWgphVTl6ZjY0MWZqLytvYXRiZjJpbFlZbzVaejlnUEp2NEZ3S0I2STVsMEd5aGZBSmpKZ1cxanI1\nbUFiTXNwTVJCCmxVbVVveS9mRHAySVZoSStlVDNuRUxCTUxtNnFhTkFVMDNiZUJMMjVWeUw0c2tT\nRUdiRlRBZ01CQUFHamdnRlgKTUlJQlV6QUpCZ05WSFJNRUFqQUFNQzBHQ1dDR1NBR0crRUlCRFFR\nZ0ZoNUZZWE41TFZKVFFTQkhaVzVsY21GMApaV1FnUTJWeWRHbG1hV05oZEdVd0hRWURWUjBPQkJZ\nRUZOeHhBSkZvY0xZU2psY2JTTFBld285dElzMStNSUhWCkJnTlZIU01FZ2Mwd2djcUFGR3RBV3Zr\nU0NJbFo1MW5sQmZVQ0hRcE9meFFBb1lHbXBJR2pNSUdnTVFzd0NRWUQKVlFRR0V3SlZVekVMTUFr\nR0ExVUVDQk1DVGtNeEVEQU9CZ05WQkFjVEIxSmhiR1ZwWjJneEZ6QVZCZ05WQkFvVApEa1psWkc5\neVlTQlFjbTlxWldOME1ROHdEUVlEVlFRTEV3Wm1aV1J0YzJjeER6QU5CZ05WQkFNVEJtWmxaRzF6\nClp6RVBNQTBHQTFVRUtSTUdabVZrYlhObk1TWXdKQVlKS29aSWh2Y05BUWtCRmhkaFpHMXBia0Jt\nWldSdmNtRncKY205cVpXTjBMbTl5WjRJSkFPTlFIa2RQRng1Rk1CTUdBMVVkSlFRTU1Bb0dDQ3NH\nQVFVRkJ3TUNNQXNHQTFVZApEd1FFQXdJSGdEQU5CZ2txaGtpRzl3MEJBUVVGQUFPQmdRQWRXN1Jm\ndTYxeURlbVJTYVZ0eWZNbGtoZ1VKNmpOCk5WSjVBVU1YN2RMVjFPTzJlTFNpZnZhVU1nMmY0SEdR\nMnZONC8zNUEwM1ZMcUJ4am9rLzFhVW5kOUN3V2thbDEKNmZKQktITlJpMlBJcG1nZFp4eldCQ1Bx\nSTBJbHdVUEpuR01KdWlNMFcvMm9FZHUxbVVFdEM0NTV6TW1qYjVwdgpLbGFWQ05Pa0REVHBkZz09\nCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\n", 
    "i": 1, 
    "msg": {
        "agent": "vondruch", 
        "collection": {
            "branchname": "master", 
            "dist_tag": ".fc22", 
            "koji_name": "rawhide", 
            "name": "Fedora", 
            "status": "Under Development", 
            "version": "devel"
        }, 
        "info": {
            "pkg_collection": "master", 
            "pkg_critpath": false, 
            "pkg_description": "Retrieve the binding of a method's caller. Can also retrieve bindings even further up the stack.", 
            "pkg_name": "rubygem-binding_of_caller", 
            "pkg_poc": "vondruch", 
            "pkg_review_url": "bla", 
            "pkg_status": "Approved", 
            "pkg_summary": "Retrieve the binding of a method's caller", 
            "pkg_upstream_url": ""
        }, 
        "package": null
    }, 
    "msg_id": "2015-d44d3455-bf90-4b8d-ae59-fe5750054f9c", 
    "signature": "ShOFKIm0bYTyXUUIPeJXjwCUZMxXp4Cafie23CpTUtLlR4tFjcipTJKO8vcIlUqnXzF7cQI1C2mB\nzx5SHhv0r94KdZcPYL3LTYxeYuKZbsBuqZR8cLMYgO28CgeuirFCt3X+Xmhw3dEyg7kWNCVuJGiO\nS9QRLZjPnkfCqWZzbgs=\n", 
    "source_name": "datanommer", 
    "source_version": "0.6.4", 
    "timestamp": 1422292483.0, 
    "topic": "org.fedoraproject.stg.pkgdb.package.new.request"
}

/cc @pypingou what's going on here?

Be careful for no agent in scm

I got one here in the datagrepper logs:

    subtitle = fedmsg.meta.msg2subtitle(msg, legacy=False, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 133, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 152, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 222, in msg2subtitle
    return processor.subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/scm.py", line 140, in subtitle
    agent = msg['msg']['agent']
KeyError: 'agent'

Handle new hotness messages

Like this one:

{
    "i": 20,
    "msg": {
    "reason": "Could not determine backend for http://search.cpan.org/dist/Digest-Perl-MD5/",
    "success": False,
    "trigger": {
        "crypto": "x509",
        "i": 1,
        "msg": {
            "agent": "fale",
            "package": {
                "acls": [],
                "creation_date": 1400070978.0,
                "description": "A pure-perl implementation of Ron Rivest's MD5 Algorithm.",
                "monitor": True,
                "name": "perl-Digest-Perl-MD5",
                "review_url": "https://bugzilla.redhat.com/732484",
                "status": "Approved",
                "summary": "Perl implementation of Ron Rivest's MD5 Algorithm",
                "upstream_url": "http://search.cpan.org/dist/Digest-Perl-MD5/"},
                "status": True
            },
            "msg_id": "2015-364c5f35-c5c8-4d25-a367-29f34cd5418e",
            "timestamp": 1427635611,
            "topic": "org.fedoraproject.prod.pkgdb.package.monitor.update",
            "username": "apache"
        }
    },
    "msg_id": "2015-122c5e1a-b1f4-4403-8703-7b12f07456c0",
    "timestamp": 1427635619.0,
    "topic": "org.fedoraproject.prod.hotness.project.map"
}

traceback from pkgdb2branch.complete

[2014-07-09 01:59:59][       fmn   DEBUG] FMNConsumer received topic u'org.fedoraproject.prod.git.pkgdb2branch.complete' 
[2014-07-09 01:59:59][   fmn.lib   ERROR] unsupported operand type(s) for +: 'NoneType' and 'list' 
Traceback (most recent call last): 
  File "/usr/lib/python2.6/site-packages/fmn/lib/__init__.py", line 84, in matches 
    result = fn(config, message, **arguments) 
  File "/usr/lib/python2.6/site-packages/fmn/rules/generic.py", line 52, in user_package_filter 
    msg_packages = fedmsg.meta.msg2packages(message, **config) 
  File "/usr/lib/python2.6/site-packages/fedmsg/meta/__init__.py", line 132, in __wrapper 
    return f(msg, **config) 
  File "/usr/lib/python2.6/site-packages/fedmsg/meta/__init__.py", line 151, in __wrapper 
    return f(msg, processor=processor, **config) 
  File "/usr/lib/python2.6/site-packages/fedmsg/meta/__init__.py", line 220, in msg2packages 
    return processor.packages(msg, **config) 
  File "/usr/lib/python2.6/site-packages/fedmsg_meta_fedora_infrastructure/scm.py", line 160, in packages 
    msg['msg'].get('branchedPackages] [])) 
TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' 

Correct user role in when changing irc topic

@immanetize reports:

this is interesting - zoglesby started a meeting, chaired me, then changed I changed the topic
meetbot.meeting.topic.update -- zoglesby changed the topic of "Docs Weekly Meeting" to "Open Floor Discussion" in #fedora-meeting

This is just like issue #29, and should be fixed.

Remove reliance on topic_prefix

As pointed out by @olasd, there is no point in this module relying on the topic_prefix config value since all messages here should actually be coming from 'org.fedoraproject....'.

Furthermore, if you try to use this module on a system oriented towards debian where the topic_prefix is set to 'org.debian', this module will break.

pkgdb NotImplementedErrors

Tracback:

   File "./autosigner.py", line 437, in <module>
     subtitle = fedmsg.meta.msg2subtitle(msg, **config)
   File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 132, in __wrapper
     return f(msg, **config)
   File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 151, in __wrapper
     return f(msg, processor=processor, **config)
   File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 185, in msg2subtitle
     return processor.subtitle(msg, **config)
   File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/pkgdb.py", line 228, in subtitle
     raise NotImplementedError("%r" % msg)
   NotImplementedError: {u'username': u'apache', u'certificate':
   [...]

example message id: 2014-f46f0993-ea29-4fe1-af44-807b863a12de:
https://apps.fedoraproject.org/datagrepper/id?id=2014-f46f0993-ea29-4fe1-af44-807b863a12de

msg2avatars triggers AttributeError: 'AccountSystem' object has no attribute 'avatar_url'

λ ~/ rpm -q fedmsg python-fedmsg-meta-fedora-infrastructure python-fedora
fedmsg-0.7.1-2.fc20.noarch
python-fedmsg-meta-fedora-infrastructure-0.2.3-1.fc20.noarch
python-fedora-0.3.32.3-3.fc20.noarch
λ ~/ fedmsg-tail --gource | gource --log-format custom -
Traceback (most recent call last):
  File "/usr/bin/fedmsg-tail", line 9, in <module>
    load_entry_point('fedmsg==0.7.1', 'console_scripts', 'fedmsg-tail')()
  File "/usr/lib/python2.7/site-packages/fedmsg/commands/tail.py", line 243, in tail
    return command.execute()
  File "/usr/lib/python2.7/site-packages/fedmsg/commands/__init__.py", line 96, in execute
    return self.run()
  File "/usr/lib/python2.7/site-packages/fedmsg/commands/tail.py", line 238, in run
    self.log.info(formatter(message))
  File "/usr/lib/python2.7/site-packages/fedmsg/commands/tail.py", line 196, in formatter
    avatars = fedmsg.meta.msg2avatars(message, **self.config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 118, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 137, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 235, in msg2avatars
    return processor.avatars(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/__init__.py", line 19, in avatars
    urls = map(lookup, usernames)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/__init__.py", line 18, in <lambda>
    lookup = lambda x: self.FAS.avatar_url(x, **kwargs)
AttributeError: 'AccountSystem' object has no attribute 'avatar_url'
gource: unsupported log format (you may need to regenerate your log file)
Try 'gource --help' for more information.

Traceback getting icon for tagger message

[moksha.hub] DEBUG 2013-07-02 18:35:55,238 Matched topic org.fedoraproject.prod.fedoratagger.rating.update with ^org\.fedoraproject\.(d
ev|stg|prod)\.(fedoratagger)\.?(.*)$
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/site-packages/txzmq/connection.py", line 241, in doRead
    log.callWithLogger(self, self.messageReceived, message)
--- <exception caught here> ---
  File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 84, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 69, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/usr/lib/python2.7/site-packages/txzmq/pubsub.py", line 60, in messageReceived
    self.gotMessage(message[1], message[0])
  File "/usr/lib/python2.7/site-packages/moksha/hub/zeromq/zeromq.py", line 168, in chain_over_moksha_callbacks
    f(_body, _topic)
  File "/usr/lib/python2.7/site-packages/moksha/hub/zeromq/zeromq.py", line 195, in intercept
    return callback(ZMQMessage(_topic, _body))
  File "/usr/lib/python2.7/site-packages/moksha/hub/api/consumer.py", line 107, in _consume_json
    self._consume(message_as_dict)
  File "/usr/lib/python2.7/site-packages/moksha/hub/api/consumer.py", line 116, in _consume
    self.consume(message)
  File "fedmsg_notify/daemon.py", line 194, in consume
    self.notify(msg)
  File "fedmsg_notify/daemon.py", line 201, in notify
    d = self.fetch_icons(msg)
  File "fedmsg_notify/daemon.py", line 231, in fetch_icons
    icon = fedmsg.text.msg2icon(body, **self.cfg)
  File "/usr/lib/python2.7/site-packages/fedmsg/text/__init__.py", line 120, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/text/__init__.py", line 139, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/text/__init__.py", line 194, in msg2icon
    return processor.icon(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/tagger.py", line 95, in icon
    return gravatar_url(msg['msg']['vote']['user']['username'])
exceptions.KeyError: 'vote'

Use the openid libravatar first for git.receive messages if possible

We currently use the libravatar based on the email address of the committer for git.push messages.

Everywhere else we use the libravatar based on the user's FAS openid string (http://FASUSERNAME.id.fedoraproject.org/).

It would be great if we could bring those git.receive messages in-line with the others and use the openid libravatar first where possible. If for some reason a message doesn't have a FAS username associated with it, we could fall back to using the email-based libravatar url.

traceback with github messages

There were tracebacks when using fedmsg_meta_fedora_infrastructure which seem
to be related to github messages:

2014-08-07 22:10:25,053: ERROR: Exception: Traceback (most recent call last):
  File "./autosigner.py", line 433, in <module>   
    subtitle = fedmsg.meta.msg2subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 132, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 151, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 185, in msg2subtitle
    return processor.subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/github.py", line 76, in subtitle
    user = self._get_user(msg)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/github.py", line 34, in _get_user
    user = msg['msg']['commit'].get('author', {}).get('login', {})
AttributeError: 'NoneType' object has no attribute 'get'
2014-08-07 22:10:36,098: ERROR: Exception: Traceback (most recent call last):
  File "./autosigner.py", line 433, in <module>
    subtitle = fedmsg.meta.msg2subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 132, in __wrapper
    return f(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 151, in __wrapper
    return f(msg, processor=processor, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg/meta/__init__.py", line 185, in msg2subtitle
    return processor.subtitle(msg, **config)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/github.py", line 76, in subtitle
    user = self._get_user(msg)
  File "/usr/lib/python2.7/site-packages/fedmsg_meta_fedora_infrastructure/github.py", line 34, in _get_user
    user = msg['msg']['commit'].get('author', {}).get('login', {})
AttributeError: 'NoneType' object has no attribute 'get'

incorrect links for fedorahosted git repos without .git suffix

git repos on fedorahosted are not named uniformly, the following repos do not have a .git suffix:

  • 389

  • aeolus

  • bluecurve

  • bluecurve-classic-metacity-theme

  • bluecurve-gdm-theme

  • bluecurve-gnome-theme

  • bluecurve-gtk-themes

  • bluecurve-icon-theme

  • bluecurve-kde-theme

  • bluecurve-kdm-theme

  • bluecurve-kwin-theme

  • bluecurve-metacity-theme

  • bluecurve-qt-engine

  • bluecurve-xmms-skin

  • cobbler

  • deltacloud

  • docs

  • echo-icon-theme

  • fedorabubbles-gdm-theme

  • fedoradna-gdm-theme

  • fedoradna-kdm-theme

  • fedoraflyinghigh-gdm-theme

  • fedoraflyinghigh-kdm-theme

  • fedora-gnome-theme

  • fedora-icon-theme

  • fedorainfinity-gdm-theme

  • fedorainfinity-screensaver-theme

  • fedora-screensaver-theme

  • freeotp

  • grid

  • koji

  • l10n

  • livecd

  • mash

  • mirrormanager

  • mkinitrd

  • nodoka

  • opyum

  • ovirt

  • presto

  • PROJETNAME=system-config-keyboard

  • readahead

  • redhat-rpm-config

  • releng

  • revisor

  • rhq

  • snake

  • thetango

  • thincrust

  • umltester

  • updatinator

  • webauthinfra

  • wevisor

    PROJETNAME=system-config-keyboard seems to a directory that was created by accident.

This makes the link for rel-eng not work, e.g.:
https://git.fedorahosted.org/cgit/releng.git/commit/?id=89988b27e332ec665bf682f1e5fb9f3d5dea2a2a

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.