ArielGlenn has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/386389 )

Change subject: Make a few more config settings parseable per-project.
......................................................................

Make a few more config settings parseable per-project.

This will permit us to use one large config file with project-specific
settings for all wikis, something we want for an upcoming move of
xml/sql dumps to a different server.

Bug: T178893
Change-Id: I08e8ab4786f6b70d0b702d709fe5e0bf0949ba42
---
M xmldumps-backup/dumps/WikiDump.py
1 file changed, 24 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/dumps 
refs/changes/89/386389/1

diff --git a/xmldumps-backup/dumps/WikiDump.py 
b/xmldumps-backup/dumps/WikiDump.py
index 09d3b6a..30b4210 100644
--- a/xmldumps-backup/dumps/WikiDump.py
+++ b/xmldumps-backup/dumps/WikiDump.py
@@ -101,28 +101,11 @@
         return db_user, db_password
 
     def parse_conffile_globally(self):
-        self.db_list = MiscUtils.db_list(self.conf.get("wiki", "dblist"))
-
-        # permit comma-separated list of files so that eg some script
-        # can skip all private and/or closed wikis in addition to some
-        # other exclusion list
-        to_skip = self.conf.get("wiki", "skipdblist")
-        if ',' in to_skip:
-            skipfiles = to_skip.split(',')
-        else:
-            skipfiles = [to_skip]
-        self.skip_db_list = []
-        for skipfile in skipfiles:
-            self.skip_db_list.extend(MiscUtils.db_list(skipfile))
-        self.skip_db_list = list(set(self.skip_db_list))
-
         self.private_list = MiscUtils.db_list(self.conf.get("wiki", 
"privatelist"))
         self.closed_list = MiscUtils.db_list(self.conf.get("wiki", 
"closedlist"))
         self.flow_list = MiscUtils.db_list(self.conf.get("wiki", "flowlist"))
         self.tablejobs = self.conf.get("wiki", "tablejobs")
         self.apijobs = self.conf.get("wiki", "apijobs")
-
-        self.db_list = list(set(self.db_list) - set(self.skip_db_list))
 
         if not self.conf.has_section('database'):
             self.conf.add_section('database')
@@ -164,15 +147,35 @@
         self.writeuptopageid = self.conf.get("tools", "writeuptopageid")
         self.recompressxml = self.conf.get("tools", "recompressxml")
 
-        if not self.conf.has_section('cleanup'):
-            self.conf.add_section('cleanup')
-        self.keep = self.conf.getint("cleanup", "keep")
-
         if not self.conf.has_section('query'):
             self.conf.add_section('query')
         self.queryfile = self.conf.get("query", "queryfile")
 
+    def get_skipdbs(self, filenames):
+        # permit comma-separated list of files so that eg some script
+        # can skip all private and/or closed wikis in addition to some
+        # other exclusion list
+        if ',' in filenames:
+            skipfiles = filenames.split(',')
+        else:
+            skipfiles = [filenames]
+        skip_db_list = []
+        for skipfile in skipfiles:
+            skip_db_list.extend(MiscUtils.db_list(skipfile))
+        return list(set(skip_db_list))
+
     def parse_conffile_per_project(self, project_name=False):
+        self.db_list = 
MiscUtils.db_list(self.get_opt_for_proj_or_default("wiki", "dblist", 0))
+
+        to_skip = self.get_opt_for_proj_or_default("wiki", "skipdblist", 0)
+        self.skip_db_list = self.get_skipdbs(to_skip)
+
+        self.db_list = list(set(self.db_list) - set(self.skip_db_list))
+
+        if not self.conf.has_section('cleanup'):
+            self.conf.add_section('cleanup')
+        self.keep = self.get_opt_for_proj_or_default("cleanup", "keep", 1)
+
         if project_name:
             self.project_name = project_name
 

-- 
To view, visit https://gerrit.wikimedia.org/r/386389
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I08e8ab4786f6b70d0b702d709fe5e0bf0949ba42
Gerrit-PatchSet: 1
Gerrit-Project: operations/dumps
Gerrit-Branch: master
Gerrit-Owner: ArielGlenn <ar...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to