[game-data-packager] 01/01: provides 'doc:' shortcut that combines 'optional:' + 'to: $docdir'

Alexandre Detiste detiste-guest at moszumanska.debian.org
Tue Oct 13 10:38:10 UTC 2015


This is an automated email from the git hooks/post-receive script.

detiste-guest pushed a commit to branch master
in repository game-data-packager.

commit dfba340c7956b4febde9f12b5c7f38a4389f5601
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date:   Tue Oct 13 12:32:07 2015 +0200

    provides 'doc:' shortcut that combines 'optional:' + 'to: $docdir'
---
 data/theme-hospital.yaml            | 10 ++--------
 data/zork.yaml                      | 24 +++++-------------------
 doc/tags.txt                        |  3 ++-
 game_data_packager/__init__.py      |  7 +++++++
 game_data_packager/make_template.py | 13 +++++++++++--
 5 files changed, 27 insertions(+), 30 deletions(-)

diff --git a/data/theme-hospital.yaml b/data/theme-hospital.yaml
index 9c4debd..d18f048 100644
--- a/data/theme-hospital.yaml
+++ b/data/theme-hospital.yaml
@@ -38,13 +38,13 @@ packages:
     - gog_eula.txt
     - eula.txt
     - en_US_eula.rtf
-    optional:
-    # documentation
+    doc:
     - EN.pdf
     - FR.pdf
     - GE.pdf
     - IT.pdf
     - manual.pdf
+    optional:
     # not present in the gog.com copy; judging by their names, they're
     # probably unnecessary?
     - levels/easy00.bak
@@ -824,21 +824,15 @@ files:
   EN.pdf:
     size: 4514818
     md5: 61c5337dd5d371b57bdf9ccdc95b4960
-    install_to: $docdir
   FR.pdf:
     size: 3192246
     md5: 2df86ca7026808d8ddc0cf349796d0c3
-    install_to: $docdir
   GE.pdf:
     size: 7656323
     md5: 5c9ea61edc4334264f2f1aa52e28f3d7
-    install_to: $docdir
   IT.pdf:
     size: 1028644
     md5: 0a8b2534c4c6cfa31815ec75b3877996
-    install_to: $docdir
-  manual.pdf:
-    install_to: $docdir
 
   Demo.zip:
     download:
diff --git a/data/zork.yaml b/data/zork.yaml
index d2b6761..46fa187 100644
--- a/data/zork.yaml
+++ b/data/zork.yaml
@@ -19,7 +19,7 @@ packages:
     install_to: usr/share/games/zork
     install:
     - zork1.z3
-    optional:
+    doc:
     - readme_zork1.txt
     - manual.pdf?zork1
 
@@ -32,7 +32,7 @@ packages:
     install_to: usr/share/games/zork
     install:
     - zork2.z3
-    optional:
+    doc:
     - readme_zork2.txt
     - manual.pdf?zork2
 
@@ -45,7 +45,7 @@ packages:
     install_to: usr/share/games/zork
     install:
     - zork3.z3
-    optional:
+    doc:
     - readme_zork3.txt
     - manual.pdf?zork3
 
@@ -58,7 +58,7 @@ packages:
     install_to: usr/share/games/zork
     install:
     - beyondzo.z3
-    optional:
+    doc:
     - manual.pdf?beyondzork
 
   planetfall-data:
@@ -69,7 +69,7 @@ packages:
       game: planetfall
     install:
     - planetfa.z3
-    optional:
+    doc:
     - manual.pdf?planetfall
 
 files:
@@ -99,7 +99,6 @@ files:
     - readme_zork1.txt
   readme_zork1.txt:
     distinctive_name: false
-    install_to: $docdir
     install_as: readme.txt
 
   zork2.zip:
@@ -111,7 +110,6 @@ files:
     - readme_zork2.txt
   readme_zork2.txt:
     distinctive_name: false
-    install_to: $docdir
     install_as: readme.txt
 
   zork3.zip:
@@ -123,7 +121,6 @@ files:
     - readme_zork3.txt
   readme_zork3.txt:
     distinctive_name: false
-    install_to: $docdir
     install_as: readme.txt
 
   setup_zork_anthology.exe:
@@ -193,17 +190,6 @@ files:
     - planetfa.z3
     - manual.pdf?planetfall
 
-  manual.pdf?zork1:
-    install_to: $docdir
-  manual.pdf?zork2:
-    install_to: $docdir
-  manual.pdf?zork3:
-    install_to: $docdir
-  manual.pdf?beyondzork:
-    install_to: $docdir
-  manual.pdf?planetfall:
-    install_to: $docdir
-
 size_and_md5: |
   # version provided at http://www.infocom-if.org/
   92160     b732a93a6244ddd92a9b9a3e3a46c687 zork1.z3_zip
diff --git a/doc/tags.txt b/doc/tags.txt
index 25fa3e1..71ce916 100644
--- a/doc/tags.txt
+++ b/doc/tags.txt
@@ -55,8 +55,9 @@ packages:
     symlinks:
     # methods for listing needed files
     install: list
-    license: list
     optional: list
+    doc: list
+    license: list
     install_files:
       <file>:
         sha1:
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index dbf785e..c124512 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -645,6 +645,13 @@ class GameData(object):
                 f = self._ensure_file(filename)
                 package.optional.add(filename)
 
+        if 'doc' in d:
+            assert isinstance(d['doc'], list), package.name
+            for filename in d['doc']:
+                f = self._ensure_file(filename)
+                f.install_to = '$docdir'
+                package.optional.add(filename)
+
         if 'license' in d:
             assert isinstance(d['license'], list), package.name
             for filename in d['license']:
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index e3c4aaa..3e53d1b 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -123,6 +123,7 @@ class GameData(object):
         # global list of files accross packages
         self.install = set()
         self.optional = set()
+        self.doc = set()
         self.license = set()
         self.loose_file = set()
 
@@ -198,6 +199,7 @@ class GameData(object):
 
         self.package['install'] = []
         self.package['optional'] = []
+        self.package['doc'] = []
         self.package['license'] = []
 
         if steam > 0:
@@ -260,9 +262,12 @@ class GameData(object):
                         self.license.add(out_name)
                         self.package['license'].append(out_name)
                     elif is_doc(fn):
+                        self.doc.add(out_name)
+                        self.package['doc'].append(out_name)
+                    # most of the times these files are not needed
+                    elif fn.split('.')[-1] in ('cfg', 'cmd', 'drv', 'ico', 'ini'):
                         self.optional.add(out_name)
                         self.package['optional'].append(out_name)
-                        self.files['files'][out_name] = dict(install_to='$docdir')
                     else:
                         self.install.add(out_name)
                         self.package['install'].append(out_name)
@@ -285,6 +290,10 @@ class GameData(object):
             self.package['optional'].sort()
         else:
             del self.package['optional']
+        if self.package['doc']:
+            self.package['doc'].sort()
+        else:
+            del self.package['doc']
         if self.package['license']:
             self.package['license'].sort()
         else:
@@ -508,7 +517,7 @@ class GameData(object):
         if self.files['files']:
             yaml.safe_dump(self.files, stream=sys.stdout, default_flow_style=False)
 
-        print_order = sorted(self.install) + sorted(self.optional) + sorted(self.license)
+        print_order = sorted(self.install | self.optional) + sorted(self.doc) + sorted(self.license)
         print_order += sorted(set(self.size.keys()) - set(print_order))
 
         print('\nsize_and_md5: |')

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git



More information about the Pkg-games-commits mailing list