Current Path: > > opt > imunify360 > venv > lib64 > python3.11 > site-packages
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Babel-2.12.1.dist-info | Directory | - | - | |
Cerberus-1.3.5.dist-info | Directory | - | - | |
Crypto | Directory | - | - | |
Jinja2-2.11.2.dist-info | Directory | - | - | |
PyJWT-2.1.0.dist-info | Directory | - | - | |
PyMySQL-1.1.1.dist-info | Directory | - | - | |
PyYAML-6.0.1.dist-info | Directory | - | - | |
__pycache__ | Directory | - | - | |
_distutils_hack | Directory | - | - | |
_yaml | Directory | - | - | |
aiodns | Directory | - | - | |
aiodns-3.0.0.dist-info | Directory | - | - | |
aiosignal | Directory | - | - | |
aiosignal-1.3.1.dist-info | Directory | - | - | |
async_lru | Directory | - | - | |
async_lru-2.0.5.dist-info | Directory | - | - | |
async_timeout | Directory | - | - | |
async_timeout-4.0.3.dist-info | Directory | - | - | |
attr | Directory | - | - | |
attrs | Directory | - | - | |
attrs-23.1.0.dist-info | Directory | - | - | |
babel | Directory | - | - | |
blinker | Directory | - | - | |
blinker-1.4.dist-info | Directory | - | - | |
cerberus | Directory | - | - | |
certifi | Directory | - | - | |
certifi-2023.7.22.dist-info | Directory | - | - | |
cffi | Directory | - | - | |
cffi-1.15.1.dist-info | Directory | - | - | |
charset_normalizer | Directory | - | - | |
charset_normalizer-2.0.12.dist-info | Directory | - | - | |
clcommon | Directory | - | - | |
clcommon-3.4.16.dist-info | Directory | - | - | |
click | Directory | - | - | |
click-8.1.7.dist-info | Directory | - | - | |
cryptography | Directory | - | - | |
cryptography-43.0.1.dist-info | Directory | - | - | |
daemon | Directory | - | - | |
dateutil | Directory | - | - | |
defence360agent | Directory | - | - | |
distro-1.6.0.dist-info | Directory | - | - | |
docutils | Directory | - | - | |
docutils-0.20.1.dist-info | Directory | - | - | |
frozenlist | Directory | - | - | |
frozenlist-1.4.0.dist-info | Directory | - | - | |
geoip2 | Directory | - | - | |
geoip2-4.2.0.dist-info | Directory | - | - | |
Directory | - | - | ||
humanize | Directory | - | - | |
humanize-4.9.0.dist-info | Directory | - | - | |
idna | Directory | - | - | |
idna-3.4.dist-info | Directory | - | - | |
imav | Directory | - | - | |
imunify_antivirus-8.6.1-py3.11.egg-info | Directory | - | - | |
imunify_core-8.7.1-py3.11.egg-info | Directory | - | - | |
jinja2 | Directory | - | - | |
jsonschema | Directory | - | - | |
jsonschema-3.2.0.dist-info | Directory | - | - | |
jwt | Directory | - | - | |
lockfile | Directory | - | - | |
lockfile-0.12.2.dist-info | Directory | - | - | |
lxml | Directory | - | - | |
lxml-4.9.2.dist-info | Directory | - | - | |
markupsafe | Directory | - | - | |
markupsafe-2.0.1.dist-info | Directory | - | - | |
maxminddb | Directory | - | - | |
maxminddb-2.4.0.dist-info | Directory | - | - | |
multidict | Directory | - | - | |
multidict-6.0.4.dist-info | Directory | - | - | |
packaging | Directory | - | - | |
packaging-23.1.dist-info | Directory | - | - | |
peewee-3.17.9.dist-info | Directory | - | - | |
peewee_migrate | Directory | - | - | |
peewee_migrate-1.12.1.dist-info | Directory | - | - | |
phpserialize-1.3.dist-info | Directory | - | - | |
pip | Directory | - | - | |
pip-25.1.1.dist-info | Directory | - | - | |
pkg_resources | Directory | - | - | |
playhouse | Directory | - | - | |
protobuf-4.23.2.dist-info | Directory | - | - | |
psutil | Directory | - | - | |
psutil-5.8.0.dist-info | Directory | - | - | |
pyasn1 | Directory | - | - | |
pyasn1-0.6.1.dist-info | Directory | - | - | |
pycares | Directory | - | - | |
pycares-4.3.0.dist-info | Directory | - | - | |
pycparser | Directory | - | - | |
pycparser-2.21.dist-info | Directory | - | - | |
pycryptodome-3.18.0.dist-info | Directory | - | - | |
pymysql | Directory | - | - | |
pyrsistent | Directory | - | - | |
pyrsistent-0.19.3.dist-info | Directory | - | - | |
python_daemon-2.3.0.dist-info | Directory | - | - | |
python_dateutil-2.8.2.dist-info | Directory | - | - | |
python_pam-1.8.4.dist-info | Directory | - | - | |
pytricia-1.0.2.dist-info | Directory | - | - | |
pyzstd | Directory | - | - | |
pyzstd-0.15.3.dist-info | Directory | - | - | |
requests | Directory | - | - | |
requests-2.26.0.dist-info | Directory | - | - | |
sdnotify | Directory | - | - | |
sdnotify-0.3.2.dist-info | Directory | - | - | |
sentry_sdk | Directory | - | - | |
sentry_sdk-0.19.2.dist-info | Directory | - | - | |
setuptools | Directory | - | - | |
setuptools-69.0.2.dist-info | Directory | - | - | |
simplejson | Directory | - | - | |
simplejson-3.20.1.dist-info | Directory | - | - | |
six-1.16.0.dist-info | Directory | - | - | |
speaklater-1.3.dist-info | Directory | - | - | |
typing_extensions-4.14.1.dist-info | Directory | - | - | |
urllib3 | Directory | - | - | |
urllib3-1.26.6.dist-info | Directory | - | - | |
vendors_api | Directory | - | - | |
yaml | Directory | - | - | |
yarl | Directory | - | - | |
yarl-1.9.2.dist-info | Directory | - | - | |
_cffi_backend.cpython-311-x86_64-linux-gnu.so | File | 274048 bytes | July 04 2025 13:31:17. | |
_pyrsistent_version.py | File | 23 bytes | July 04 2025 13:31:01. | |
distro.py | File | 48414 bytes | July 04 2025 13:31:01. | |
distutils-precedence.pth | File | 151 bytes | July 04 2025 13:31:01. | |
pam.py | File | 7556 bytes | July 04 2025 13:31:01. | |
peewee.py | File | 281823 bytes | July 04 2025 13:31:01. | |
phpserialize.py | File | 18400 bytes | July 04 2025 13:31:01. | |
pwiz.py | File | 8193 bytes | July 04 2025 13:31:01. | |
pytricia.cpython-311-x86_64-linux-gnu.so | File | 34224 bytes | July 04 2025 13:31:17. | |
secureio.py | File | 20289 bytes | July 04 2025 13:31:01. | |
six.py | File | 34549 bytes | July 04 2025 13:31:01. | |
speaklater.py | File | 5216 bytes | July 04 2025 13:31:01. | |
typing_extensions.py | File | 157408 bytes | July 04 2025 13:31:01. |
#!/usr/bin/env python import datetime import os import sys from getpass import getpass from optparse import OptionParser from peewee import * from peewee import print_ from peewee import __version__ as peewee_version from playhouse.cockroachdb import CockroachDatabase from playhouse.reflection import * HEADER = """from peewee import *%s database = %s('%s'%s) """ BASE_MODEL = """\ class BaseModel(Model): class Meta: database = database """ UNKNOWN_FIELD = """\ class UnknownField(object): def __init__(self, *_, **__): pass """ DATABASE_ALIASES = { CockroachDatabase: ['cockroach', 'cockroachdb', 'crdb'], MySQLDatabase: ['mysql', 'mysqldb'], PostgresqlDatabase: ['postgres', 'postgresql'], SqliteDatabase: ['sqlite', 'sqlite3'], } DATABASE_MAP = dict((value, key) for key in DATABASE_ALIASES for value in DATABASE_ALIASES[key]) def make_introspector(database_type, database_name, **kwargs): if database_type not in DATABASE_MAP: err('Unrecognized database, must be one of: %s' % ', '.join(DATABASE_MAP.keys())) sys.exit(1) schema = kwargs.pop('schema', None) DatabaseClass = DATABASE_MAP[database_type] db = DatabaseClass(database_name, **kwargs) return Introspector.from_database(db, schema=schema) def print_models(introspector, tables=None, preserve_order=False, include_views=False, ignore_unknown=False, snake_case=True): database = introspector.introspect(table_names=tables, include_views=include_views, snake_case=snake_case) db_kwargs = introspector.get_database_kwargs() header = HEADER % ( introspector.get_additional_imports(), introspector.get_database_class().__name__, introspector.get_database_name(), ', **%s' % repr(db_kwargs) if db_kwargs else '') print_(header) if not ignore_unknown: print_(UNKNOWN_FIELD) print_(BASE_MODEL) def _print_table(table, seen, accum=None): accum = accum or [] foreign_keys = database.foreign_keys[table] for foreign_key in foreign_keys: dest = foreign_key.dest_table # In the event the destination table has already been pushed # for printing, then we have a reference cycle. if dest in accum and table not in accum: print_('# Possible reference cycle: %s' % dest) # If this is not a self-referential foreign key, and we have # not already processed the destination table, do so now. if dest not in seen and dest not in accum: seen.add(dest) if dest != table: _print_table(dest, seen, accum + [table]) print_('class %s(BaseModel):' % database.model_names[table]) columns = database.columns[table].items() if not preserve_order: columns = sorted(columns) primary_keys = database.primary_keys[table] for name, column in columns: skip = all([ name in primary_keys, name == 'id', len(primary_keys) == 1, column.field_class in introspector.pk_classes]) if skip: continue if column.primary_key and len(primary_keys) > 1: # If we have a CompositeKey, then we do not want to explicitly # mark the columns as being primary keys. column.primary_key = False is_unknown = column.field_class is UnknownField if is_unknown and ignore_unknown: disp = '%s - %s' % (column.name, column.raw_column_type or '?') print_(' # %s' % disp) else: print_(' %s' % column.get_field()) print_('') print_(' class Meta:') print_(' table_name = \'%s\'' % table) multi_column_indexes = database.multi_column_indexes(table) if multi_column_indexes: print_(' indexes = (') for fields, unique in sorted(multi_column_indexes): print_(' ((%s), %s),' % ( ', '.join("'%s'" % field for field in fields), unique, )) print_(' )') if introspector.schema: print_(' schema = \'%s\'' % introspector.schema) if len(primary_keys) > 1: pk_field_names = sorted([ field.name for col, field in columns if col in primary_keys]) pk_list = ', '.join("'%s'" % pk for pk in pk_field_names) print_(' primary_key = CompositeKey(%s)' % pk_list) elif not primary_keys: print_(' primary_key = False') print_('') seen.add(table) seen = set() for table in sorted(database.model_names.keys()): if table not in seen: if not tables or table in tables: _print_table(table, seen) def print_header(cmd_line, introspector): timestamp = datetime.datetime.now() print_('# Code generated by:') print_('# python -m pwiz %s' % cmd_line) print_('# Date: %s' % timestamp.strftime('%B %d, %Y %I:%M%p')) print_('# Database: %s' % introspector.get_database_name()) print_('# Peewee version: %s' % peewee_version) print_('') def err(msg): sys.stderr.write('\033[91m%s\033[0m\n' % msg) sys.stderr.flush() def get_option_parser(): parser = OptionParser(usage='usage: %prog [options] database_name') ao = parser.add_option ao('-H', '--host', dest='host') ao('-p', '--port', dest='port', type='int') ao('-u', '--user', dest='user') ao('-P', '--password', dest='password', action='store_true') engines = sorted(DATABASE_MAP) ao('-e', '--engine', dest='engine', choices=engines, help=('Database type, e.g. sqlite, mysql, postgresql or cockroachdb. ' 'Default is "postgresql".')) ao('-s', '--schema', dest='schema') ao('-t', '--tables', dest='tables', help=('Only generate the specified tables. Multiple table names should ' 'be separated by commas.')) ao('-v', '--views', dest='views', action='store_true', help='Generate model classes for VIEWs in addition to tables.') ao('-i', '--info', dest='info', action='store_true', help=('Add database information and other metadata to top of the ' 'generated file.')) ao('-o', '--preserve-order', action='store_true', dest='preserve_order', help='Model definition column ordering matches source table.') ao('-I', '--ignore-unknown', action='store_true', dest='ignore_unknown', help='Ignore fields whose type cannot be determined.') ao('-L', '--legacy-naming', action='store_true', dest='legacy_naming', help='Use legacy table- and column-name generation.') return parser def get_connect_kwargs(options): ops = ('host', 'port', 'user', 'schema') kwargs = dict((o, getattr(options, o)) for o in ops if getattr(options, o)) if options.password: kwargs['password'] = getpass() return kwargs if __name__ == '__main__': raw_argv = sys.argv parser = get_option_parser() options, args = parser.parse_args() if len(args) < 1: err('Missing required parameter "database"') parser.print_help() sys.exit(1) connect = get_connect_kwargs(options) database = args[-1] tables = None if options.tables: tables = [table.strip() for table in options.tables.split(',') if table.strip()] engine = options.engine if engine is None: engine = 'sqlite' if os.path.exists(database) else 'postgresql' introspector = make_introspector(engine, database, **connect) if options.info: cmd_line = ' '.join(raw_argv[1:]) print_header(cmd_line, introspector) print_models(introspector, tables, options.preserve_order, options.views, options.ignore_unknown, not options.legacy_naming)
SILENT KILLER Tool