← Back to team overview

ubuntu-packaging-guide-team team mailing list archive

[Merge] lp:~andrewsomething/ubuntu-packaging-guide/pep8 into lp:ubuntu-packaging-guide

 

Andrew Starr-Bochicchio has proposed merging lp:~andrewsomething/ubuntu-packaging-guide/pep8 into lp:ubuntu-packaging-guide.

Requested reviews:
  Ubuntu Packaging Guide Team (ubuntu-packaging-guide-team)

For more details, see:
https://code.launchpad.net/~andrewsomething/ubuntu-packaging-guide/pep8/+merge/129979

Just some clean up to make debian/scripts/add-languages PEP8 compliant.

This is based on lp:~andrewsomething/ubuntu-packaging-guide/add-LANGS-to-Makefile so that needs to be merged first. I didn't include this there just to make that diff easier to read.
-- 
https://code.launchpad.net/~andrewsomething/ubuntu-packaging-guide/pep8/+merge/129979
Your team Ubuntu Packaging Guide Team is requested to review the proposed merge of lp:~andrewsomething/ubuntu-packaging-guide/pep8 into lp:ubuntu-packaging-guide.
=== modified file 'Makefile'
--- Makefile	2012-10-16 12:14:37 +0000
+++ Makefile	2012-10-16 20:13:33 +0000
@@ -14,7 +14,7 @@
 # the i18n builder cannot share the environment and doctrees with the others
 PODIR         = po
 I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-#LANGS = $(basename $(notdir $(wildcard $(PODIR)/*.po)))
+LANGS =
 
 .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext locale
 

=== modified file 'debian/changelog'
--- debian/changelog	2012-10-12 14:53:27 +0000
+++ debian/changelog	2012-10-16 20:13:33 +0000
@@ -3,6 +3,12 @@
   [ Daniel Holbach ]
   * Added some additional information to the autopkgtest article.
 
+  [ Andrew Starr-Bochicchio ]
+  * debian/scripts/add-languages:
+   - Modify LANGS variable in Makefile when a language reaches
+     threshold (LP: #1067288).
+   - Clean up to make PEP8 compliant.
+
  -- Daniel Holbach <daniel.holbach@xxxxxxxxxx>  Fri, 12 Oct 2012 16:52:11 +0200
 
 ubuntu-packaging-guide (0.2.4) unstable; urgency=low

=== modified file 'debian/scripts/add-languages'
--- debian/scripts/add-languages	2012-09-03 14:43:05 +0000
+++ debian/scripts/add-languages	2012-10-16 20:13:33 +0000
@@ -32,6 +32,7 @@
 
 PERCENTAGE = 70
 
+
 class Package(object):
     stanzas = None
 
@@ -41,18 +42,20 @@
         self.base_path = os.path.join(self.script_path, "../..")
         self.po_path = os.path.join(self.base_path, "po/")
         self.control_file = os.path.join(self.base_path, "debian/control")
+        self.makefile = os.path.join(self.base_path, "Makefile")
         self.all_pofiles = self.get_all_pofiles()
         self.all_languages = self.get_all_languages()
         self.semi_complete_pofiles = self.get_semi_complete_pofiles()
         self.semi_complete_languages = self.get_semi_complete_languages()
         self.available_binary_packages = self.get_available_binary_packages()
-        self.available_binary_package_names = self.get_available_binary_package_names()
+        self.available_binary_package_names = \
+            self.get_available_binary_package_names()
         self.base_package_names = self.get_base_package_names()
 
     def get_all_pofiles(self):
         return map(lambda a: os.path.abspath(a),
                    glob.glob("%s/*.po" % self.po_path))
-    
+
     def get_all_languages(self):
         return map(lambda a: os.path.basename(a).split(".po")[0],
                    self.all_pofiles)
@@ -63,10 +66,10 @@
         for language in languages:
             pofile = polib.pofile(language)
             percentage = pofile.percent_translated()
-            print os.path.basename(language), ("(%s" % percentage)+"%),",
+            print os.path.basename(language), ("(%s" % percentage) + "%),",
             if percentage >= PERCENTAGE:
                 print "adding."
-                complete += [ language ]
+                complete += [language]
             else:
                 print "NOT adding."
         return complete
@@ -78,11 +81,11 @@
     def get_available_binary_packages(self):
         BLACKLIST = [u'ubuntu-packaging-guide']     # metapackages and stuff
         self.stanzas = deb822.Packages.iter_paragraphs(open(self.control_file))
-        return filter(lambda a: "Package" in a.keys() and \
-                                a.get("Package") not in BLACKLIST, self.stanzas)
+        return filter(lambda a: "Package" in a.keys() and
+                      a.get("Package") not in BLACKLIST, self.stanzas)
 
     def get_available_binary_package_names(self):
-        return map(lambda a: a["Package"], 
+        return map(lambda a: a["Package"],
                    self.available_binary_packages)
 
     def get_base_package_names(self):
@@ -93,13 +96,13 @@
                 if name.endswith("-%s" % language):
                     is_translations_package = True
             if not is_translations_package:
-                base_packages += [ name ]
+                base_packages += [name]
         return base_packages
 
     def get_package_name_permutations(self, languages):
         permutations = []
         for language in languages:
-            permutations +=  map(lambda pkg: "%s-%s" % (pkg, language),
+            permutations += map(lambda pkg: "%s-%s" % (pkg, language),
                                  self.base_package_names)
         return permutations
 
@@ -116,7 +119,7 @@
         desc = new_stanza["Description"].split("\n")
         desc[0] += " - '%s' version" % language
         desc[-1] = desc[-1].rstrip()
-        desc += [ " .", " This is the '%s' version." % language ]
+        desc += [" .", " This is the '%s' version." % language]
         new_stanza["Description"] = "\n".join(desc)
         f = open(self.control_file, "a")
         f.write(u"\n")
@@ -125,15 +128,18 @@
 
     def add_installation_files(self, language, template_name):
         new_package_name = "%s-%s" % (template_name, language)
-        template_file = os.path.join(self.base_path, "debian/" + template_name + ".docs")
-        new_file = os.path.join(self.base_path, "debian/" + new_package_name + ".docs")
+        template_file = os.path.join(self.base_path,
+                                     "debian/" + template_name + ".docs")
+        new_file = os.path.join(self.base_path,
+                                "debian/" + new_package_name + ".docs")
         doc_type = template_name.split("-")[-1]
         if template_name.endswith("html"):
             self.write_docs_file(template_file, new_file, doc_type, language)
-            install_file = os.path.join(self.base_path, 
+            install_file = os.path.join(self.base_path,
                                         "debian/" + template_name + ".install")
             new_install_file = os.path.join(self.base_path,
-                                            "debian/" + new_package_name + ".install")
+                                            "debian/" + new_package_name +
+                                            ".install")
             with open(install_file, "r") as install_file:
                 lines = install_file.readlines()
             with open(new_install_file, "w") as new_install_file:
@@ -160,14 +166,18 @@
     def add_docbase_files(self, language, template_name):
         new_package_name = "%s-%s" % (template_name, language)
         docbase_template = os.path.join(self.base_path,
-                                        "debian/" + template_name + ".doc-base")
+                                        "debian/" + template_name +
+                                        ".doc-base")
         new_docbase_file = os.path.join(self.base_path,
-                                        "debian/" + new_package_name + ".doc-base")
+                                        "debian/" + new_package_name +
+                                        ".doc-base")
         if template_name.endswith("html"):
             single_template = os.path.join(self.base_path,
-                                           "debian/" + template_name + ".doc-base.single")
+                                           "debian/" + template_name +
+                                           ".doc-base.single")
             new_single_file = os.path.join(self.base_path,
-                                           "debian/" + new_package_name + ".doc-base.single")
+                                           "debian/" + new_package_name +
+                                           ".doc-base.single")
             self.write_docbase_file(language, template_name, new_package_name,
                                     docbase_template, new_docbase_file)
             self.write_docbase_file(language, template_name, new_package_name,
@@ -178,32 +188,47 @@
         else:
             pass
 
-    def write_docbase_file(self, language, template_name, new_package_name,template_file, new_file):
+    def write_docbase_file(self, language, template_name, new_package_name,
+                           template_file, new_file):
         doc_type = template_name.split("-")[-1]
         with open(template_file, "r") as template_file:
             lines = template_file.readlines()
         with open(new_file, "w") as new_file:
             for line in lines:
-                 if line.startswith("Document:"):
-                     line = "Document: " + new_package_name + "\n"
-                 elif line.startswith("Index:") | line.startswith("Files:"):
-                     line = re.sub("-%s" % doc_type, "-%s-%s" % (doc_type, language), line)
-                 elif line.startswith("Title:"):
-                     line = "Title: Ubuntu Packaging Guide - %s Version\n" % language
-                 else:
-                     line = line
-                 new_file.write(line)
+                if line.startswith("Document:"):
+                    line = "Document: " + new_package_name + "\n"
+                elif line.startswith("Index:") | line.startswith("Files:"):
+                    line = re.sub("-%s" % doc_type,
+                                  "-%s-%s" % (doc_type, language), line)
+                elif line.startswith("Title:"):
+                    line = "Title: Ubuntu Packaging Guide - %s Version\n" \
+                            % language
+                else:
+                    line = line
+                new_file.write(line)
+
+    def add_to_makefile(self, language):
+        with open(self.makefile, "r") as makefile:
+            lines = makefile.readlines()
+        with open(self.makefile, "w") as makefile:
+            for line in lines:
+                if line.startswith("LANGS =") and language not in line:
+                    line = line.rstrip('\n') + " " + language + '\n'
+                makefile.write(line)
 
     def add_package(self, package_name):
         base_template = "-".join(package_name.split("-")[0:-1])
         language = package_name.split("-")[-1]
+        self.add_to_makefile(language)
         self.add_to_control_file(language, base_template)
         self.add_installation_files(language, base_template)
         self.add_docbase_files(language, base_template)
 
+
 def main():
     package = Package()
-    for name in package.get_missing_binary_packages(package.semi_complete_languages):
+    for name in package.get_missing_binary_packages(
+      package.semi_complete_languages):
         package.add_package(name)
 
 if __name__ == '__main__':


Follow ups