Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/pep440 into lp:openlp.

Commit message:
Make our version number PEP 440 compliant and add a script for Jenkins to 
report back to a merge proposal.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/pep440/+merge/353806
-- 
Your team OpenLP Core is requested to review the proposed merge of 
lp:~raoul-snyman/openlp/pep440 into lp:openlp.
=== modified file 'MANIFEST.in'
--- MANIFEST.in	2014-05-05 17:31:45 +0000
+++ MANIFEST.in	2018-08-27 18:00:23 +0000
@@ -7,9 +7,11 @@
 recursive-include openlp *.png
 recursive-include openlp *.ps
 recursive-include openlp *.json
+recursive-include openlp *.ttf
 recursive-include documentation *
 recursive-include resources *
 recursive-include scripts *
+recursive-include tests/resources *
 include copyright.txt
 include LICENSE
 include README.txt

=== added file 'scripts/mp_update.py'
--- scripts/mp_update.py	1970-01-01 00:00:00 +0000
+++ scripts/mp_update.py	2018-08-27 18:00:23 +0000
@@ -0,0 +1,61 @@
+#!/usr/bin/env python2
+import sys
+import os
+from argparse import ArgumentParser
+from launchpadlib.credentials import UnencryptedFileCredentialStore
+from launchpadlib.launchpad import Launchpad
+
+HERE = os.path.dirname(os.path.abspath(__file__))
+
+
+def parse_args():
+    """
+    Parse the command line arguments
+    """
+    parser = ArgumentParser()
+    parser.add_argument('-p', '--merge-proposal', required=True,
+                        help='The main part of the URL to the merge proposal, without the hostname.')
+    parser.add_argument('-m', '--message', required=True,
+                        help='The comment to add to the merge proposal')
+    parser.add_argument('-s', '--subject', default=None, help='The subject for the comment')
+    return parser.parse_args()
+
+
+def get_merge_proposal(merge_proposal_url):
+    """
+    Get the merge proposal for the ``merge_proposal_url``
+    """
+    lp = Launchpad.login_with('OpenLP CI', 'production', version='devel',
+                              credential_store=UnencryptedFileCredentialStore(os.path.join(HERE, 'launchpadcreds.txt')))
+    openlp_project = lp.projects['openlp']
+    merge_proposals = openlp_project.getMergeProposals()
+    for merge_proposal in merge_proposals:
+        if str(merge_proposal).endswith(merge_proposal_url):
+            return merge_proposal
+    return None
+
+
+def create_comment(merge_proposal, comment, subject):
+    """
+    Create a comment on the merge proposal
+    """
+    if not subject:
+        subject = 'Jenkins test update'
+    merge_proposal.createComment(subject=subject, content=comment)
+
+
+def main():
+    """
+    Run the thing
+    """
+    args = parse_args()
+    merge_proposal = get_merge_proposal(args.merge_proposal)
+    if not merge_proposal:
+        print('No merge proposal with that URL found')
+        sys.exit(1)
+    else:
+        create_comment(merge_proposal, args.message, args.subject)
+
+
+if __name__ == '__main__':
+    main()

=== modified file 'setup.py'
--- setup.py	2017-12-29 09:15:48 +0000
+++ setup.py	2018-08-27 18:00:23 +0000
@@ -99,10 +99,11 @@
     if tree_revision == tag_revision:
         version_string = tag_version.decode('utf-8')
     else:
-        version_string = '%s-bzr%s' % (tag_version.decode('utf-8'), tree_revision.decode('utf-8'))
+        version_string = '{version}.dev{revision}'.format(version=tag_version.decode('utf-8'),
+                                                          revision=tree_revision.decode('utf-8'))
     ver_file = open(VERSION_FILE, 'w')
     ver_file.write(version_string)
-except:
+except Exception:
     ver_file = open(VERSION_FILE, 'r')
     version_string = ver_file.read().strip()
 finally:

_______________________________________________
Mailing list: https://launchpad.net/~openlp-core
Post to     : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to