Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 18.116.81.255
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
lib /
python2.7 /
site-packages /
yum /
[ HOME SHELL ]
Name
Size
Permission
Action
Errors.py
4.26
KB
-rwxr-xr-x
Errors.pyc
9.08
KB
-rw-r--r--
__init__.py
304.1
KB
-rwxr-xr-x
__init__.pyc
199.78
KB
-rw-r--r--
callbacks.py
5.64
KB
-rwxr-xr-x
callbacks.pyc
6.23
KB
-rw-r--r--
comps.py
31.59
KB
-rwxr-xr-x
comps.pyc
26.87
KB
-rw-r--r--
config.py
49.89
KB
-rwxr-xr-x
config.pyc
48.02
KB
-rw-r--r--
constants.py
4.52
KB
-rwxr-xr-x
constants.pyc
3.42
KB
-rw-r--r--
depsolve.py
74.05
KB
-rwxr-xr-x
depsolve.pyc
46.91
KB
-rw-r--r--
drpm.py
12.85
KB
-rwxr-xr-x
drpm.pyc
10.83
KB
-rw-r--r--
failover.py
5
KB
-rwxr-xr-x
failover.pyc
5.24
KB
-rw-r--r--
fssnapshots.py
10.16
KB
-rwxr-xr-x
fssnapshots.pyc
9.75
KB
-rw-r--r--
history.py
61.13
KB
-rwxr-xr-x
history.pyc
53.31
KB
-rw-r--r--
i18n.py
20.44
KB
-rwxr-xr-x
i18n.pyc
16.05
KB
-rw-r--r--
igroups.py
9.31
KB
-rwxr-xr-x
igroups.pyc
10.22
KB
-rw-r--r--
logginglevels.py
7.9
KB
-rwxr-xr-x
logginglevels.pyc
6.51
KB
-rw-r--r--
mdparser.py
6.26
KB
-rwxr-xr-x
mdparser.pyc
7.58
KB
-rw-r--r--
metalink.py
9.19
KB
-rwxr-xr-x
metalink.pyc
8.84
KB
-rw-r--r--
misc.py
39.57
KB
-rwxr-xr-x
misc.pyc
39.58
KB
-rw-r--r--
packageSack.py
40.79
KB
-rwxr-xr-x
packageSack.pyc
41.88
KB
-rw-r--r--
packages.py
84.1
KB
-rwxr-xr-x
packages.pyc
84.51
KB
-rw-r--r--
parser.py
7.97
KB
-rwxr-xr-x
parser.pyc
6.5
KB
-rw-r--r--
pgpmsg.py
53.5
KB
-rwxr-xr-x
pgpmsg.pyc
38.27
KB
-rw-r--r--
pkgtag_db.py
4.86
KB
-rwxr-xr-x
pkgtag_db.pyc
5.06
KB
-rw-r--r--
plugins.py
28.1
KB
-rwxr-xr-x
plugins.pyc
29.1
KB
-rw-r--r--
repoMDObject.py
11.23
KB
-rwxr-xr-x
repoMDObject.pyc
9.17
KB
-rw-r--r--
repos.py
16.53
KB
-rwxr-xr-x
repos.pyc
17.38
KB
-rw-r--r--
rpmsack.py
70.25
KB
-rwxr-xr-x
rpmsack.pyc
58.36
KB
-rw-r--r--
rpmtrans.py
24.84
KB
-rwxr-xr-x
rpmtrans.pyc
22.54
KB
-rw-r--r--
sqlitesack.py
69.76
KB
-rwxr-xr-x
sqlitesack.pyc
53.75
KB
-rw-r--r--
sqlutils.py
6.27
KB
-rwxr-xr-x
sqlutils.pyc
5.6
KB
-rw-r--r--
transactioninfo.py
33.78
KB
-rwxr-xr-x
transactioninfo.pyc
30.29
KB
-rw-r--r--
update_md.py
25.9
KB
-rwxr-xr-x
update_md.pyc
21.72
KB
-rw-r--r--
updateinfo.py
18.29
KB
-rwxr-xr-x
updateinfo.pyc
16.36
KB
-rw-r--r--
yumRepo.py
83.85
KB
-rwxr-xr-x
yumRepo.pyc
64.83
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : pkgtag_db.py
#!/usr/bin/python -tt # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Copyright 2009 Red Hat, Inc # written by seth vidal # parse sqlite tag database # return pkgnames and tag that was matched from sqlutils import sqlite, executeSQL, sql_esc from Errors import PkgTagsError import sqlutils import sys import misc def catchSqliteException(func): """This decorator converts sqlite exceptions into PkgTagsError""" def newFunc(*args, **kwargs): try: return func(*args, **kwargs) except sqlutils.sqlite.Error, e: # 2.4.x requires this, but 2.6.x complains about even hasattr() # of e.message ... *sigh* if sys.hexversion < 0x02050000: if hasattr(e,'message'): raise PkgTagsError, str(e.message) else: raise PkgTagsError, str(e) raise PkgTagsError, str(e) newFunc.__name__ = func.__name__ newFunc.__doc__ = func.__doc__ newFunc.__dict__.update(func.__dict__) return newFunc class PackageTagDB(object): @catchSqliteException def __init__(self, repoid, sqlite_file): self.sqlite_file = sqlite_file self.repoid = repoid # take a path to the sqlite tag db # open it and leave a cursor in place for the db self._conn = sqlite.connect(sqlite_file) self.cur = self._conn.cursor() def _getTagsCount(self): ''' Unused, so no need to cache. ''' for n in self._sql_exec("select count(*) from packagetags",): return n[0] count = property(fget=lambda self: self._getTagsCount(), doc="Number of entries in the pkgtag DB") @catchSqliteException def _sql_exec(self, sql, *args): """ Exec SQL against an MD of the repo, return a cursor. """ executeSQL(self.cur, sql, *args) return self.cur def search_tags(self, tag): """Search by tag name/glob Return dict of dict[packagename] = [stringmatched, stringmatched, ...]""" res = {} (tag, esc) = sql_esc(tag) query = "SELECT name, tag, score FROM packagetags where tag like ? %s" % esc tag = '%' + tag + '%' rows = self._sql_exec(query, (tag,)) for (name, tag, score) in rows: if name not in res: res[name] = [] res[name].append(tag) return res def search_names(self, name): """Search by package name/glob. Return dict of dict[packagename] = [tag1, tag2, tag3, tag4, ...]""" res = {} (name, esc) = sql_esc(name) query = "SELECT name, tag, score FROM packagetags where name like ?%s " % esc name = '%' + name + '%' rows = self._sql_exec(query, (name,)) for (name, tag, score) in rows: if name not in res: res[name] = [] res[name].append(tag) return res class PackageTags(object): def __init__(self): self.db_objs = {} def add(self, repoid, sqlite_file): if repoid in self.db_objs: raise PkgTagsError, "Already added tags from %s" % repoid dbobj = PackageTagDB(repoid, sqlite_file) self.db_objs[repoid] = dbobj def remove(self, repoid): if repoid in self.db_objs: del self.db_objs[repoid] else: raise PkgTagsError, "No tag db for %s" % repoid def search_names(self, name): res = {} for ptd in self.db_objs.values(): for (name, taglist) in ptd.search_names(name).items(): if not name in res: res[name] = [] res[name].extend(taglist) out = {} for (name, taglist) in res.items(): out[name] = misc.unique(taglist) return out def search_tags(self, tagname): res = {} for ptd in self.db_objs.values(): for (name, taglist) in ptd.search_tags(tagname).items(): if not name in res: res[name] = [] res[name].extend(taglist) out = {} for (name, taglist) in res.items(): out[name] = misc.unique(taglist) return out
Close