Sindbad~EG File Manager
3
�f7 � @ sB d dl mZ d dlmZ d dlmZmZmZ G dd� dee�ZdS )� )�match)�quote)�Plugin�RedHatPlugin� PluginOptc @ sT e Zd ZdZdZdZdZeddd d
�gZdZ dZ
d
Zd
Zdd� Z
dd� Zdd� ZdS )�Pulpz
Pulp platformZpulp�pulp-server�pulp-katello�python3-pulpcore�/etc/pulp/settings.py�tasks�� z*number of tasks to collect from DB queries)�defaultZdescZ localhostZ27017� c C s� d}d}y�t dddd��}|j� j� }W d Q R X x�|D ]�}td|�rt|j� d jd �d
jd�}|d
| _|d | _td|�r�d
|j� d | _td|�r�d|j� d | _|j d�r�d}|r6|j d�r6|j� d }d}q6W W n t
k
r� Y nX | jddi� | jddddddddddg
� | j
d�}| jd | �}| jd!| �} | jd"| �}
| jd#�}| jd$�}| j|d%d&� | j| d'd&� | j|
d(d&� | j|d)d&� | j|d*d&� x0d+D ](}
| jd,|
� d-|� d.�d/|
� �d0� �q�W | jd1d2d&� d S )3Nr Fz/etc/pulp/server.conf�rzUTF-8)�encodingz^\s*seeds:\s+\S+:\S+� �,r �:z\s*username:\s+\S+z-u %sz\s*password:\s+\S+z-p %sz[messaging]Tz certfile:z/etc/default/pulp_workersZpulp_worker_defaultsz/etc/pulp/*.confz/etc/pulp/settings.pyz /etc/pulp/server/plugins.conf.d/z/etc/default/pulp*z/var/log/httpd/pulp-http.log*z/var/log/httpd/pulp-https.log*z(/var/log/httpd/pulp-http_access_ssl.log*z)/var/log/httpd/pulp-https_access_ssl.log*z'/var/log/httpd/pulp-http_error_ssl.log*z(/var/log/httpd/pulp-https_error_ssl.log*r za"DBQuery.shellBatchSize=%s;; db.task_status.find().sort({finish_time: -1}).pretty().shellPrint()"zP"DBQuery.shellBatchSize=%s;; db.reserved_resources.find().pretty().shellPrint()"ze"DBQuery.shellBatchSize=%s;; db.task_status.find({state:{\$ne: \"finished\"}}).pretty().shellPrint()"a� "function humanReadable(bytes) { var i = -1; var byteUnits = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; do { bytes = bytes / 1024; i++; } while (bytes > 1024); return Math.max(bytes, 0.1).toFixed(1) + ' ' + byteUnits[i];};var collectionNames = db.getCollectionNames(), stats = [];collectionNames.forEach(function (n) { stats.push(db[n].stats()); });stats = stats.sort(function(a, b) { return b['size'] - a['size']; });for (var c in stats) { print(stats[c]['ns'] + ': ' + humanReadable(stats[c]['size']) + ' (' + humanReadable(stats[c]['storageSize']) + ')'); }"z"db.stats()"zmongo-task_status)Zsuggest_filenamezmongo-reserved_resourceszpulp-running_taskszmongo-collection_sizeszmongo-db_statsZquczqpid-stat -z --ssl-certificate=z -b amqps://localhost:5671Z
qpid_stat_)Ztagszosudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' dynaconf listZ
dynaconf_list)�open�read�
splitlinesr �split�dbhost�dbport�dbuser�
dbpassword�
startswith�IOErrorZ
add_file_tagsZ
add_copy_specZ
get_option�build_mongo_cmdZadd_cmd_output)�selfZmessaging_cert_fileZin_messaging_section�fileZ
pulp_lines�lineZuriZ num_tasksZmtasksZmresZprunZcsizesZdbstats�opt� r$ �/usr/lib/python3.6/pulp.py�setup! sv
z
Pulp.setupc C s4 d}d| j | j| j| jf }d}|t|||f � S )z Build mongoDB command z
bash -c %sz--host %s --port %s %s %sz mongo pulp_database %s --eval %s)r r r r r )r ZqueryZ_cmdZ_mondbZ_moncmdr$ r$ r% r � s
zPulp.build_mongo_cmdc C sT d}d}| j d||� d}d}| j d||� d}d}| j d||� | jd ||� d S )
Nz0(([a-z].*(passw|token|cred|secret).*)\:(\s))(.*)z\1 ********z/etc/pulp/(.*)\.conf$z7(\s*\".*(passw|cred|token|secret).*\"\s*:(\s))(.*)(\w+)z
\1********z/etc/pulp(.*)(.json$)z_((?:SECRET_KEY|AUTH_LDAP_BIND_PASSWORD)(?:\<.+\>)?(\s*=)?|(password|PASSWORD)(\"|'|:)+)\s*(\S*)z/etc/pulp/settings.pyz
dynaconf list)Zdo_path_regex_subZdo_cmd_output_sub)r Zetcreg�replZjregZkey_pass_rer$ r$ r% �postproc� s z
Pulp.postprocN)r r r
)r )�__name__�
__module__�__qualname__Z
short_descZplugin_nameZpackages�filesr Zoption_listr r r r r&