rabo-dev-kit 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,25 @@
1
+ Metadata-Version: 2.4
2
+ Name: rabo-dev-kit
3
+ Version: 0.1.2
4
+ Home-page:
5
+ Author: origin
6
+ Author-email: cmeng.gao@gmail.com
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ Dynamic: author
13
+ Dynamic: author-email
14
+ Dynamic: classifier
15
+ Dynamic: description
16
+ Dynamic: description-content-type
17
+ Dynamic: requires-python
18
+
19
+ # Rabo Dev kit Package
20
+
21
+
22
+ ## Installation
23
+
24
+ ```bash
25
+ pip install rabo-dev-kit
@@ -0,0 +1,7 @@
1
+ # Rabo Dev kit Package
2
+
3
+
4
+ ## Installation
5
+
6
+ ```bash
7
+ pip install rabo-dev-kit
@@ -0,0 +1,4 @@
1
+ from .recorder import DataRecorder
2
+ from .utils import get_parameter_topic
3
+ __all__ = ['DataRecorder', 'get_parameter_topic']
4
+ __version__ = '0.1.2'
@@ -0,0 +1,75 @@
1
+ import os
2
+
3
+ class DataRecorder:
4
+ """
5
+ 一个将文本数据记录到/tmp目录下文件的工具库。
6
+
7
+ 特性:
8
+ - 所有文件都写入到/tmp/目录下的指定子目录中
9
+ - 自动创建不存在的目录
10
+ - 自动处理filename中的目录部分
11
+ - 只支持文本数据记录
12
+ """
13
+
14
+ def __init__(self, base_dir: str = "data_logs"):
15
+ """
16
+ 初始化文本数据记录器
17
+
18
+ :param base_dir: 基础目录路径(会被自动修正到/tmp下)
19
+ """
20
+ # 拼接/tmp目录作为根目录
21
+ self.base_dir = os.path.abspath(os.path.join('/tmp', base_dir))
22
+ self._ensure_directory_exists()
23
+
24
+ def _ensure_directory_exists(self):
25
+ """确保基础目录存在,如果不存在则创建"""
26
+ os.makedirs(self.base_dir, exist_ok=True)
27
+
28
+ def _sanitize_filename(self, filename: str) -> str:
29
+ """
30
+ 清理文件名,去除目录部分并给出提醒
31
+
32
+ :param filename: 输入的文件名
33
+ :return: 安全的纯文件名
34
+ """
35
+ original = filename
36
+ # 获取纯文件名部分
37
+ sanitized = os.path.basename(filename)
38
+
39
+ # 如果原始文件名包含目录,打印提醒
40
+ if original != sanitized:
41
+ print(f"警告:文件名 '{original}' 中包含目录路径,已自动修正为 '{sanitized}'")
42
+
43
+ return sanitized
44
+
45
+ def _get_full_path(self, filename: str) -> str:
46
+ """
47
+ 获取文件的完整路径(带文件名清理)
48
+
49
+ :param filename: 文件名(会自动清理目录部分)
50
+ :return: 完整文件路径
51
+ """
52
+ safe_name = self._sanitize_filename(filename)
53
+ return os.path.join(self.base_dir, safe_name)
54
+
55
+ def get_file_path(self, filename: str) -> str:
56
+ """
57
+ 获取文件将写入的绝对路径
58
+
59
+ :param filename: 文件名
60
+ :return: 文件的绝对路径
61
+ """
62
+ return self._get_full_path(filename)
63
+
64
+ def log_text(self, filename: str, content: str, mode: str = 'a') -> None:
65
+ """
66
+ 记录文本数据到文件
67
+
68
+ :param filename: 文件名
69
+ :param content: 文本内容
70
+ :param mode: 文件打开模式 ('w' 写入, 'a' 追加)
71
+ """
72
+ full_path = self._get_full_path(filename)
73
+
74
+ with open(full_path, mode, encoding='utf-8') as f:
75
+ f.write(content + '\n')
@@ -0,0 +1,5 @@
1
+ import os
2
+
3
+
4
+ def get_parameter_topic():
5
+ return os.getenv('CONTROLLER_PARAMETER_TOPIC', '')
@@ -0,0 +1,25 @@
1
+ Metadata-Version: 2.4
2
+ Name: rabo-dev-kit
3
+ Version: 0.1.2
4
+ Home-page:
5
+ Author: origin
6
+ Author-email: cmeng.gao@gmail.com
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ Dynamic: author
13
+ Dynamic: author-email
14
+ Dynamic: classifier
15
+ Dynamic: description
16
+ Dynamic: description-content-type
17
+ Dynamic: requires-python
18
+
19
+ # Rabo Dev kit Package
20
+
21
+
22
+ ## Installation
23
+
24
+ ```bash
25
+ pip install rabo-dev-kit
@@ -0,0 +1,9 @@
1
+ README.md
2
+ setup.py
3
+ rabo_dev_kit/__init__.py
4
+ rabo_dev_kit/recorder.py
5
+ rabo_dev_kit/utils.py
6
+ rabo_dev_kit.egg-info/PKG-INFO
7
+ rabo_dev_kit.egg-info/SOURCES.txt
8
+ rabo_dev_kit.egg-info/dependency_links.txt
9
+ rabo_dev_kit.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ rabo_dev_kit
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,19 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ setup(
4
+ name="rabo-dev-kit",
5
+ version="0.1.2",
6
+ packages=find_packages(),
7
+ author="origin",
8
+ author_email="cmeng.gao@gmail.com",
9
+ description="",
10
+ long_description=open('README.md').read(),
11
+ long_description_content_type="text/markdown",
12
+ url="",
13
+ classifiers=[
14
+ "Programming Language :: Python :: 3",
15
+ "License :: OSI Approved :: MIT License",
16
+ "Operating System :: OS Independent",
17
+ ],
18
+ python_requires='>=3.6',
19
+ )