backend/common/rhnTranslate.py | 81 ++++-------------
backend/satellite_exporter/handlers/non_auth_dumper.py | 10 --
backend/satellite_tools/diskImportLib.py | 12 --
backend/satellite_tools/reposync.py | 11 --
backend/server/handlers/app/packages.py | 11 --
backend/server/handlers/xmlrpc/registration.py | 21 ----
backend/server/importlib/backendOracle.py | 9 +
backend/server/importlib/packageUpload.py | 10 --
backend/server/rhnPackageUpload.py | 10 --
9 files changed, 40 insertions(+), 135 deletions(-)
New commits:
commit 47d8e2df7879d024a50c294e7f033a1e553616ff
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Nov 30 14:15:12 2010 +0100
moved backend.init() into a single place
diff --git a/backend/satellite_tools/diskImportLib.py
b/backend/satellite_tools/diskImportLib.py
index 5fd2db5..4610f32 100644
--- a/backend/satellite_tools/diskImportLib.py
+++ b/backend/satellite_tools/diskImportLib.py
@@ -37,7 +37,6 @@ class Backend:
return self.__backend
Backend.__backend = SQLBackend()
- Backend.__backend.init()
return Backend.__backend
# get_backend() returns a shared instance of an Oracle backend
diff --git a/backend/satellite_tools/reposync.py b/backend/satellite_tools/reposync.py
index 1d97319..955c051 100644
--- a/backend/satellite_tools/reposync.py
+++ b/backend/satellite_tools/reposync.py
@@ -232,7 +232,6 @@ class RepoSync:
def associate_package(self, pack):
caller = "server.app.yumreposync"
backend = SQLBackend()
- backend.init()
package = {}
package['name'] = pack.name
package['version'] = pack.version
diff --git a/backend/server/handlers/app/packages.py
b/backend/server/handlers/app/packages.py
index db6ad23..8f6120f 100644
--- a/backend/server/handlers/app/packages.py
+++ b/backend/server/handlers/app/packages.py
@@ -383,7 +383,6 @@ class Packages(RPC_Base):
caller = "server.app.channelPackageSubscription"
backend = SQLBackend()
- backend.init()
importer = ChannelPackageSubscription(batch, backend, caller=caller)
try:
importer.run()
diff --git a/backend/server/importlib/backendOracle.py
b/backend/server/importlib/backendOracle.py
index f15dddc..9576755 100644
--- a/backend/server/importlib/backendOracle.py
+++ b/backend/server/importlib/backendOracle.py
@@ -599,4 +599,5 @@ def SQLBackend():
backend = OracleBackend()
elif CFG.DB_BACKEND == POSTGRESQL:
backend = PostgresqlBackend()
+ backend.init()
return backend
diff --git a/backend/server/importlib/packageUpload.py
b/backend/server/importlib/packageUpload.py
index ccf5ef8..f913bdc 100644
--- a/backend/server/importlib/packageUpload.py
+++ b/backend/server/importlib/packageUpload.py
@@ -46,7 +46,6 @@ def uploadPackages(info, source=0, force=0, caller=None):
batch.append(p)
backend = SQLBackend()
- backend.init()
importer = packageImporter(batch, backend, source, caller=caller)
importer.setUploadForce(force)
diff --git a/backend/server/rhnPackageUpload.py b/backend/server/rhnPackageUpload.py
index 7138ff9..1694b46 100644
--- a/backend/server/rhnPackageUpload.py
+++ b/backend/server/rhnPackageUpload.py
@@ -153,7 +153,6 @@ def push_package(header, payload_stream, checksum_type, checksum,
org_id=None, f
batch.append(pkg)
backend = SQLBackend()
- backend.init()
if force:
upload_force = 4
commit 7d5ed504e7e809fdcc7c82f8b5e82c37279200dd
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Nov 30 14:04:06 2010 +0100
moved db backend selection into a single place
diff --git a/backend/satellite_tools/diskImportLib.py
b/backend/satellite_tools/diskImportLib.py
index 0462c7b..5fd2db5 100644
--- a/backend/satellite_tools/diskImportLib.py
+++ b/backend/satellite_tools/diskImportLib.py
@@ -18,12 +18,11 @@
import os
-from spacewalk.common import CFG
from spacewalk.common.rhnLib import hash_object_id
-from spacewalk.server.rhnSQL.const import ORACLE, POSTGRESQL
import xmlSource
import xmlDiskSource
+from spacewalk.server.importlib.backendOracle import SQLBackend
from spacewalk.server.importlib.channelImport import ChannelImport, ChannelFamilyImport
from spacewalk.server.importlib.packageImport import PackageImport, SourcePackageImport
from spacewalk.server.importlib import archImport
@@ -37,13 +36,7 @@ class Backend:
if self.__backend:
return self.__backend
-
- if CFG.DB_BACKEND == ORACLE:
- from spacewalk.server.importlib.backendOracle import OracleBackend
- Backend.__backend = OracleBackend()
- elif CFG.DB_BACKEND == POSTGRESQL:
- from spacewalk.server.importlib.backendOracle import PostgresqlBackend
- Backend.__backend = PostgresqlBackend()
+ Backend.__backend = SQLBackend()
Backend.__backend.init()
return Backend.__backend
diff --git a/backend/satellite_tools/reposync.py b/backend/satellite_tools/reposync.py
index 9ef4319..1d97319 100644
--- a/backend/satellite_tools/reposync.py
+++ b/backend/satellite_tools/reposync.py
@@ -20,10 +20,9 @@ from spacewalk.common import CFG, initCFG, rhnLog
from spacewalk.common.checksum import getFileChecksum
from spacewalk.server.importlib.importLib import IncompletePackage
from spacewalk.server.importlib.packageImport import ChannelPackageSubscription
+from spacewalk.server.importlib.backendOracle import SQLBackend
from spacewalk.server import taskomatic
-from spacewalk.server.rhnSQL.const import ORACLE, POSTGRESQL
-
default_log_location = '/var/log/rhn/reposync/'
default_hash = 'sha256'
@@ -232,12 +231,7 @@ class RepoSync:
def associate_package(self, pack):
caller = "server.app.yumreposync"
- if CFG.DB_BACKEND == ORACLE:
- from spacewalk.server.importlib.backendOracle import OracleBackend
- backend = OracleBackend()
- elif CFG.DB_BACKEND == POSTGRESQL:
- from spacewalk.server.importlib.backendOracle import PostgresqlBackend
- backend = PostgresqlBackend()
+ backend = SQLBackend()
backend.init()
package = {}
package['name'] = pack.name
diff --git a/backend/server/handlers/app/packages.py
b/backend/server/handlers/app/packages.py
index c1b7f0e..db6ad23 100644
--- a/backend/server/handlers/app/packages.py
+++ b/backend/server/handlers/app/packages.py
@@ -26,6 +26,7 @@ from spacewalk.common import RPC_Base, rhnFault, log_debug, log_error,
CFG
from spacewalk.server import rhnSQL, rhnPackageUpload, rhnUser, rhnSession
+from spacewalk.server.importlib.backendOracle import SQLBackend
from spacewalk.server.importlib.importLib import Collection, IncompatibleArchError,\
Channel, IncompletePackage, InvalidChannelError
from spacewalk.server.importlib.packageImport import ChannelPackageSubscription
@@ -34,7 +35,6 @@ from spacewalk.server.importlib.packageUpload import uploadPackages,
listChannel
from spacewalk.server.importlib.userAuth import UserAuth
from spacewalk.server.importlib.errataCache import schedule_errata_cache_update
from spacewalk.common.checksum import getFileChecksum
-from spacewalk.server.rhnSQL.const import ORACLE, POSTGRESQL
#12/22/05 wregglej 173287
#I made a decent number of changes to this file to implement session authentication.
@@ -382,13 +382,7 @@ class Packages(RPC_Base):
caller = "server.app.channelPackageSubscription"
- if CFG.DB_BACKEND == ORACLE:
- from spacewalk.server.importlib.backendOracle import OracleBackend
- backend = OracleBackend()
- elif CFG.DB_BACKEND == POSTGRESQL:
- from spacewalk.server.importlib.backendOracle import PostgresqlBackend
- backend = PostgresqlBackend()
-
+ backend = SQLBackend()
backend.init()
importer = ChannelPackageSubscription(batch, backend, caller=caller)
try:
diff --git a/backend/server/importlib/backendOracle.py
b/backend/server/importlib/backendOracle.py
index 233390c..f15dddc 100644
--- a/backend/server/importlib/backendOracle.py
+++ b/backend/server/importlib/backendOracle.py
@@ -22,6 +22,8 @@ from backend import Backend
from backendLib import DBint, DBstring, DBdateTime, DBblob, Table, \
TableCollection
from spacewalk.server import rhnSQL
+from spacewalk.server.rhnSQL.const import ORACLE, POSTGRESQL
+from spacewalk.common import CFG
class OracleBackend(Backend):
tables = TableCollection(
@@ -592,3 +594,9 @@ class PostgresqlBackend(OracleBackend):
"""
return Backend.init(self)
+def SQLBackend():
+ if CFG.DB_BACKEND == ORACLE:
+ backend = OracleBackend()
+ elif CFG.DB_BACKEND == POSTGRESQL:
+ backend = PostgresqlBackend()
+ return backend
diff --git a/backend/server/importlib/packageUpload.py
b/backend/server/importlib/packageUpload.py
index 771a33b..ccf5ef8 100644
--- a/backend/server/importlib/packageUpload.py
+++ b/backend/server/importlib/packageUpload.py
@@ -19,6 +19,7 @@
from spacewalk.common import rhnFault, log_debug, rhn_rpm, CFG
from spacewalk.server import rhnChannel, taskomatic, rhnSQL
+from spacewalk.server.importlib.backendOracle import SQLBackend
from spacewalk.server.importlib.headerSource import createPackage
from spacewalk.server.importlib.importLib import Collection
from spacewalk.server.importlib.packageImport import packageImporter
@@ -44,13 +45,7 @@ def uploadPackages(info, source=0, force=0, caller=None):
p = __processPackage(package, org_id, channelList, source)
batch.append(p)
- if CFG.DB_BACKEND == ORACLE:
- from spacewalk.server.importlib.backendOracle import OracleBackend
- backend = OracleBackend()
- elif CFG.DB_BACKEND == POSTGRESQL:
- from spacewalk.server.importlib.backendOracle import PostgresqlBackend
- backend = PostgresqlBackend()
-
+ backend = SQLBackend()
backend.init()
importer = packageImporter(batch, backend, source, caller=caller)
diff --git a/backend/server/rhnPackageUpload.py b/backend/server/rhnPackageUpload.py
index ab6e88e..7138ff9 100644
--- a/backend/server/rhnPackageUpload.py
+++ b/backend/server/rhnPackageUpload.py
@@ -22,12 +22,12 @@ from spacewalk.common import CFG, log_debug, rhnFault, rhn_mpm, \
from spacewalk.common.rhn_rpm import get_header_byte_range
from spacewalk.server import rhnSQL
+from spacewalk.server.importlib.backendOracle import SQLBackend
from spacewalk.server.importlib import importLib, userAuth, mpmSource, \
packageImport, errataCache
from spacewalk.server.rhnLib import get_package_path, \
get_package_path_without_package_name
from spacewalk.server.rhnServer import server_packages
-from spacewalk.server.rhnSQL.const import ORACLE, POSTGRESQL
def write_temp_file(req, buffer_size, packaging=None):
@@ -152,12 +152,7 @@ def push_package(header, payload_stream, checksum_type, checksum,
org_id=None, f
batch = importLib.Collection()
batch.append(pkg)
- if CFG.DB_BACKEND == ORACLE:
- from spacewalk.server.importlib.backendOracle import OracleBackend
- backend = OracleBackend()
- elif CFG.DB_BACKEND == POSTGRESQL:
- from spacewalk.server.importlib.backendOracle import PostgresqlBackend
- backend = PostgresqlBackend()
+ backend = SQLBackend()
backend.init()
if force:
commit 9060ca4e3318d479c2724dcda1d78474c84df514
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Nov 30 12:10:39 2010 +0100
RegistrationNumber() is dead after if data.has_key('registrationNumber') block
removal
diff --git a/backend/server/handlers/xmlrpc/registration.py
b/backend/server/handlers/xmlrpc/registration.py
index 336036e..d0aa0f6 100644
--- a/backend/server/handlers/xmlrpc/registration.py
+++ b/backend/server/handlers/xmlrpc/registration.py
@@ -39,27 +39,6 @@ def hash_validate(data, *keylist):
return 0
return 1
-def RegistrationNumber(nr):
- """ process a registration number for sanitization purposes
"""
- if not nr:
- return None
- if not type(nr) == type(""):
- log_debug(3, "Got unparseable registration Number: %s" % nr)
- return None
- mynr = string.lower(nr)
- # prepare the translation table
- t = string.maketrans("los", "105")
- # and strip out unwanted chars
- mynr = string.translate(mynr, t, "_- ")
- # keep only hexdigits
- ret = ""
- for r in mynr:
- if r in string.hexdigits:
- ret = ret + r
- if not ret:
- return None
- return ret
-
def parse_smbios(smbios):
vendor = smbios.get('smbios.bios.vendor')
serial = smbios.get('smbios.system.serial', '')
commit a914b22bda4d2fa31cb5090a8568150f276f7b5f
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Nov 29 23:58:38 2010 +0100
removed dead code together with its invalid comment
- the code is dead because otherwise it must fail to execute according to
E0602:587:_get_path_from_cursor: Undefined variable '_none2emptyString'
- there can't be two packages with different epoch because we
explicitely set :epoch in query
diff --git a/backend/satellite_exporter/handlers/non_auth_dumper.py
b/backend/satellite_exporter/handlers/non_auth_dumper.py
index 7187a17..ac2109e 100644
--- a/backend/satellite_exporter/handlers/non_auth_dumper.py
+++ b/backend/satellite_exporter/handlers/non_auth_dumper.py
@@ -576,17 +576,7 @@ def _get_path_from_cursor(h):
if not rs:
raise InvalidPackageError
- # It is unlikely for this query to return more than one row,
- # but it is possible
- # (having two packages with the same n, v, r, a and different epoch in
- # the same channel is prohibited by the RPM naming scheme; but extra
- # care won't hurt)
max_row = rs[0]
- for each in rs[1:]:
- # Compare the epoch as string
- if _none2emptyString(each['epoch']) > _none2emptyString(
- max_row['epoch']):
- max_row = each
if max_row['path'] is None:
commit f3b87b069a2d51fb36cc40e5fac13f101cff1bd1
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Sun Nov 28 20:56:50 2010 +0100
python 2.4+ (RHEL5+) has hasattr(gettext, 'GNUTranslations') == True; removing
dead code
diff --git a/backend/common/rhnTranslate.py b/backend/common/rhnTranslate.py
index 89ce058..f89641b 100644
--- a/backend/common/rhnTranslate.py
+++ b/backend/common/rhnTranslate.py
@@ -18,28 +18,27 @@ import types
import gettext
import string
-if hasattr(gettext, 'GNUTranslations'):
- class RHN_Translations(gettext.GNUTranslations):
- # Defining our own class, since we'd like to save the language we use
- # Determining the language is not very pretty - we parse the file name
- # which is supposed to be something like
- # .../<lang>/LC_MESSAGES/<domain>.po
- def _parse(self, fp):
- gettext.GNUTranslations._parse(self, fp)
- filename = fp.name
- filename = os.path.normpath(filename)
- # Extract the language
- self.lang = string.split(filename, '/')[-3]
+class RHN_Translations(gettext.GNUTranslations):
+ # Defining our own class, since we'd like to save the language we use
+ # Determining the language is not very pretty - we parse the file name
+ # which is supposed to be something like
+ # .../<lang>/LC_MESSAGES/<domain>.po
+ def _parse(self, fp):
+ gettext.GNUTranslations._parse(self, fp)
+ filename = fp.name
+ filename = os.path.normpath(filename)
+ # Extract the language
+ self.lang = string.split(filename, '/')[-3]
- def getlangs(self):
- # Return all languages
- #pkilambi:bug#158561,170819,170821: the gettext object in python 2.2.3 has no
attribute
- #_fallback so add a check if __dict__ has key
- #if not self._fallback or not hasattr(self._fallback, 'getlangs'):
- if not self.__dict__.has_key("_fallback") or not self._fallback or
not hasattr(self._fallback, 'getlangs'):
- return [ self.lang, 'C' ]
- # Recursive call
- return [ self.lang ] + self._fallback.getlangs()
+ def getlangs(self):
+ # Return all languages
+ #pkilambi:bug#158561,170819,170821: the gettext object in python 2.2.3 has no
attribute
+ #_fallback so add a check if __dict__ has key
+ #if not self._fallback or not hasattr(self._fallback, 'getlangs'):
+ if not self.__dict__.has_key("_fallback") or not self._fallback or not
hasattr(self._fallback, 'getlangs'):
+ return [ self.lang, 'C' ]
+ # Recursive call
+ return [ self.lang ] + self._fallback.getlangs()
class i18n:
_default_langs = ['en', 'en_US', 'C']
@@ -79,47 +78,9 @@ class i18n:
if localedir: self.localedir = localedir
self._set_catalog()
-# Old-style gettext
-class i18n_old(i18n):
- def _set_catalog(self):
- self.cat = gettext.Catalog(self.domain, localedir=self.localedir)
-
- def getlangs(self):
- return gettext.lang
-
- def setlangs(self, langs):
- if isinstance(langs, types.StringType):
- langs = [ langs ]
- # Build the list of languages
- _added_langs = []
- # Aargh - on python 1.5, gettext removes os and string - so subsequent
- # calls to _expandLang fail - so add the string module back
- gettext.string = string
- for l in langs:
- _added_langs.extend(gettext._expandLang(l))
- # Adding some defaults
- _added_langs.extend(self._default_langs)
- # Remove duplicates
- h = {}
- del gettext.lang[:]
- for l in _added_langs:
- if l == 'C':
- # We'll add it back later
- continue
- if h.has_key(l):
- # Already loaded it
- continue
- gettext.lang.append(l)
- h[l] = None
- if "C" not in gettext.lang:
- gettext.lang.append("C")
- self._set_catalog()
def N_(str):
return str
-if hasattr(gettext, 'GNUTranslations'):
- cat = i18n()
-else:
- cat = i18n_old()
+cat = i18n()
_ = cat.gettext