Author: esr
Date: Mon Apr 30 16:56:15 2007
New Revision: 17198

URL: http://svn.gna.org/viewcvs/wesnoth?rev=17198&view=rev
Log:
Initial commit of WesCamp importer.

Added:
    trunk/utils/wescamp_import   (with props)

Added: trunk/utils/wescamp_import
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/utils/wescamp_import?rev=17198&view=auto
==============================================================================
--- trunk/utils/wescamp_import (added)
+++ trunk/utils/wescamp_import Mon Apr 30 16:56:15 2007
@@ -1,0 +1,120 @@
+#!/usr/bin/env python
+#
+# wescamp_import -- generate a shellscript to import a campaign from WesCamp
+#
+# Pipe the output of this comman to sh to actually perform the opetation
+#
+import sys, os, getopt, shutil
+
+if __name__ == "__main__":
+    def help():
+        sys.stderr.write("""\
+Usage: macroscope {-h | wescamp-path campaign-name textdomain}
+    Options may be any of these:
+    -h, --help                   Emit this help message and quit
+    Requires as first argument a path to  a WesCamp checkout
+    Requires as second argument a campaign name.
+    Call from the top level directory of mainline.
+""")
+
+    # Template campaign to copy boilerplate files from
+    template_campaign = "Heir_To_The_Throne"
+
+    # Process options
+    (options, arguments) = getopt.getopt(sys.argv[1:], "h", ['help',])
+    for (switch, val) in options:
+        if switch in ('-h', '--help'):
+            help()
+            sys.exit(0)
+    if len(arguments) == 0:
+        sys.stderr.write("wescamp_import: a path to a local WesCamp checkout 
is required.\n")
+        sys.exit(1)
+    else:
+        wescamp_path = arguments[0]
+    if len(arguments) == 1:
+        sys.stderr.write("wescamp_import: a campaign name is required.\n") 
+        sys.exit(1)
+    else:
+        campaign = arguments[1]
+    if len(arguments) == 2:
+        sys.stderr.write("wescamp_import: a text domain name is required.\n") 
+        sys.exit(1)
+    else:
+        textdomain = arguments[2]
+
+    print """\
+# Generated script to do an import of %(textdomain)s from a WesCamp checkout
+#
+cp %(wescamp_path)s/%(campaign)s/po/.po po/%(textdomain)s
+
+echo >po/%(textdomain)s/FINDCFG <<'EOF'
+find data/campaigns/%(campaign)s -name '*.cfg' -print
+echo data/campaigns/%(campaign)s.cfg'
+EOF
+
+cp po/%(template_campaign)s/remove-potcdate.sin po/%(textdomain)s/
+
+echo >po/%(textdomain)s/Makevars <<'EOF'
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = %(textdomain)s
+
+# These two variables depend on the location of this directory.
+subdir = po/%(textdomain)s
+top_builddir = ../..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --from-code=UTF-8 --sort-by-file --keyword=sgettext 
--keyword
+=vgettext --keyword=_n:1,2 --keyword=sngettext:1,2 --keyword=vngettext:1,2
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+# package.  (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.)  Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright.  The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Wesnoth development team
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS =http://bugs.wesnoth.org/
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+'EOF'
+
+cp po/%(template_campaign)s/POTFILES po/%(textdomain)s/
+
+ed po/Makefile.am <<'EOF'
+/^SUBDIRS/s/$/ %(textdomain)s/
+wq
+EOF
+
+# Warning: this depends on m4/Makefile being in ther list of generated files
+ed po/configure.ac <<'EOF'
+/m4\/Makefile/-1a
+po/%(textdomain)s/Makefile.in
+.
+wq
+EOF
+
+svn add po/%(textdomain)s
+
+svn commit -m 'Wescamp import' configure.ac po/Makefile.am po/%(textdomain)s
+""" % locals()

Propchange: trunk/utils/wescamp_import
------------------------------------------------------------------------------
    svn:executable = *


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to