##// END OF EJS Templates
feat(configs): deprecared old hooks protocol and ssh wrapper....
feat(configs): deprecared old hooks protocol and ssh wrapper. New defaults are now set on v2 keys, so previous installation are automatically set to new keys. Fallback mode is still available.

File last commit:

r5095:aa627a5f default
r5496:cab50adf default
Show More
utils.py
55 lines | 1.8 KiB | text/x-python | PythonLexer
copyrights: updated for 2023
r5088 # Copyright (C) 2016-2023 RhodeCode GmbH
file-store: rename module from upload_store to file_store.
r3453 #
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# 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 General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
python3: fixed various code issues...
r4973 import io
file-store: rename module from upload_store to file_store.
r3453 import uuid
file-store: remove deprecated PathLib2
r5002 import pathlib
file-store: use pathlib2 to determine complex filenames with double extensions, e.g exmaple.tar.gz
r3728
file-store: rename module from upload_store to file_store.
r3453
def get_file_storage(settings):
file-store: small code cleanups.
r4012 from rhodecode.apps.file_store.backends.local_store import LocalFileStorage
file-store: rename module from upload_store to file_store.
r3453 from rhodecode.apps.file_store import config_keys
store_path = settings.get(config_keys.store_path)
return LocalFileStorage(base_path=store_path)
file-store: use pathlib2 to determine complex filenames with double extensions, e.g exmaple.tar.gz
r3728 def splitext(filename):
file-store: remove deprecated PathLib2
r5002 ext = ''.join(pathlib.Path(filename).suffixes)
file-store: use pathlib2 to determine complex filenames with double extensions, e.g exmaple.tar.gz
r3728 return filename, ext
file-store: rename module from upload_store to file_store.
r3453 def uid_filename(filename, randomized=True):
"""
Generates a randomized or stable (uuid) filename,
preserving the original extension.
:param filename: the original filename
:param randomized: define if filename should be stable (sha1 based) or randomized
"""
file-store: use pathlib2 to determine complex filenames with double extensions, e.g exmaple.tar.gz
r3728
_, ext = splitext(filename)
file-store: rename module from upload_store to file_store.
r3453 if randomized:
uid = uuid.uuid4()
else:
hash_key = '{}.{}'.format(filename, 'store')
uid = uuid.uuid5(uuid.NAMESPACE_URL, hash_key)
return str(uid) + ext.lower()
artifacts: few fixes for handling cases of using sub path to store artifacts....
r4476
def bytes_to_file_obj(bytes_data):
python3: fixed various code issues...
r4973 return io.StringIO(bytes_data)