From f5514845c566337cacd76b2489c7e6ee817710be Mon Sep 17 00:00:00 2001
From: fejao <mail@fejao.de>
Date: Thu, 23 Jan 2025 10:39:08 +0100
Subject: [PATCH] Adding example uploaded file at the system

---
 data/db.json                                  |   2 +-
 data/usage.ini                                |   4 +--
 src/config.yml                                |  17 ++++++-----
 src/utils/app_usage.py                        |  28 ++++++++----------
 ...025-01-23_-_10-34-33___-___test_file_1.pdf | Bin 0 -> 9819 bytes
 5 files changed, 26 insertions(+), 25 deletions(-)
 create mode 100644 uploads/771-002-042___-___2025-01-23_-_10-34-33___-___test_file_1.pdf

diff --git a/data/db.json b/data/db.json
index e9b1817..0f8bb6b 100644
--- a/data/db.json
+++ b/data/db.json
@@ -1 +1 @@
-{"_default": {}}
\ No newline at end of file
+{"_default": {"1": {"file_code": "771-002-042", "uploaded_date": "2025-01-23_-_10-34-33", "original_name": "test_file_1.pdf", "new_file_name": "771-002-042___-___2025-01-23_-_10-34-33___-___test_file_1.pdf", "path": "/home/fejao/Coding/CCC/git_cccv/c3infodesk-printer/uploads/771-002-042___-___2025-01-23_-_10-34-33___-___test_file_1.pdf", "size": 9819, "num_pages": 1}}}
\ No newline at end of file
diff --git a/data/usage.ini b/data/usage.ini
index b700753..fc4816c 100644
--- a/data/usage.ini
+++ b/data/usage.ini
@@ -11,8 +11,8 @@ total = 0
 total = 1
 
 [FILES]
-total = 0
+total = 1
 
 [TOTAL_SIZE_UPLOAD]
-total = 0
+total = 9819
 
diff --git a/src/config.yml b/src/config.yml
index 18c4ba8..fbec90f 100644
--- a/src/config.yml
+++ b/src/config.yml
@@ -5,13 +5,16 @@ default:
   ###
   ### SET OWN PROPERTIES: BEGIN
   ###
+
+  ### PRINTER USED ON 38c3
+  printer_name: 'HP_LaserJet_M402n'
   # printer_name: 'EPSON_ET_2820_Series_USB@localhost'
   # printer_name: 'EPSON_ET-2820_Series'
-  printer_name: 'HP_LaserJet_M402n'
-  path_to_upload: "/home/fejao/Coding/CCC/Repos/c3infodesk/c3printer/uploads"
-  path_to_log: "/home/fejao/Coding/CCC/Repos/c3infodesk/c3printer/logs/log_01.txt"
-  path_to_data: "/home/fejao/Coding/CCC/Repos/c3infodesk/c3printer/data"
-  path_to_test_file: "/home/fejao/Coding/CCC/Repos/c3infodesk/c3printer/src/tests/files/test_file.pdf"
+  ### LOCAL PATHS --> PLEASE CHANGE THIS
+  path_to_upload: "/home/fejao/Coding/CCC/git_cccv/c3infodesk-printer/uploads"
+  path_to_log: "/home/fejao/Coding/CCC/git_cccv/c3infodesk-printer/logs/log_01.txt"
+  path_to_data: "/home/fejao/Coding/CCC/git_cccv/c3infodesk-printer/data"
+  path_to_test_file: "/home/fejao/Coding/CCC/git_cccv/c3infodesk-printer/src/tests/files/test_file.pdf"
   ###
   ### SET OWN PROPERTIES: END
   ###
@@ -76,8 +79,8 @@ default:
   enabled_api: true
   # enabled_api: false
   ### INFLUXDB
-  enabled_influxdb: true
-  # enabled_influxdb: false
+  # enabled_influxdb: true
+  enabled_influxdb: false
   ### FILE PREVIEW
   file_preview_width: '800'
   file_preview_height: '900'
diff --git a/src/utils/app_usage.py b/src/utils/app_usage.py
index 6cef5c1..5ea3915 100644
--- a/src/utils/app_usage.py
+++ b/src/utils/app_usage.py
@@ -8,8 +8,6 @@
 ###
 ### DEPENDENCIES
 ###
-# import os
-# import os.path
 import sys
 import configparser
 
@@ -159,7 +157,7 @@ class AppUsage():
             int:
                 The total uploads.
         """
-        logger("Fetched the counter for total uploads...")
+        logger("Fetching the counter for total uploads...")
 
         tot_uploads = None
         if self.influxdb is None:
@@ -179,7 +177,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Update the counter for total uploads...")
+        logger("Updating the counter for total uploads...")
 
         tot_uploads = self.counter_uploads_get() + 1
 
@@ -201,7 +199,7 @@ class AppUsage():
             int:
                 The total uploads.
         """
-        logger("Fetched the counter for total files...")
+        logger("Fetching the counter for total files...")
 
         tot_files = None
         if self.influxdb is None:
@@ -221,7 +219,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Update the counter for total files...")
+        logger("Updating the counter for total files...")
 
         files_at_the_moment = self.counter_files_get()
 
@@ -249,7 +247,7 @@ class AppUsage():
             int:
                 The total prints.
         """
-        logger("Fetched the counter for total prints...")
+        logger("Fetching the counter for total prints...")
 
         tot_prints = None
         if self.influxdb is None:
@@ -269,7 +267,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Updated the counter for total prints...")
+        logger("Updating the counter for total prints...")
 
         tot_prints = self.counter_prints_get() + 1
 
@@ -291,7 +289,7 @@ class AppUsage():
             int:
                 The total pages printed.
         """
-        logger("Fetched the counter for total pages...")
+        logger("Fetching the counter for total pages...")
 
         tot_pages = None
         if self.influxdb is None:
@@ -311,7 +309,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Updated the counter for total pages...")
+        logger("Updating the counter for total pages...")
 
         tot_pages = self.counter_pages_get() + file_info.get('num_pages')
 
@@ -333,7 +331,7 @@ class AppUsage():
             int:
                 The maximal simultaneous uploads.
         """
-        logger("Fetched the counter for maximal simultaneous uploads...")
+        logger("Fetching the counter for maximal simultaneous uploads...")
 
         tot_simult_uploads = None
         if self.influxdb is None:
@@ -353,7 +351,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Updated the counter for maximal simultaneous uploads...")
+        logger("Updating the counter for maximal simultaneous uploads...")
 
         # Get the total
         tot_simult = self.counter_max_simultaneous_uploaded_get()
@@ -381,7 +379,7 @@ class AppUsage():
             int:
                 The total size uploaded.
         """
-        logger("Fetched the counter for total files uploaded size...")
+        logger("Fetching the counter for total files uploaded size...")
 
         tot_size = None
         if self.influxdb is None:
@@ -401,7 +399,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Updated the counter for total size uploaded...")
+        logger("Updating the counter for total size uploaded...")
 
         tot_size = self.counter_size_get() + file_info.get('size')
 
@@ -424,7 +422,7 @@ class AppUsage():
             -------
             None
         """
-        logger("Rotate the values on the InfluxDB...")
+        logger("Rotating the values on the InfluxDB...")
 
         ### UPLOADS
         tot_uploads = self.counter_uploads_get()
diff --git a/uploads/771-002-042___-___2025-01-23_-_10-34-33___-___test_file_1.pdf b/uploads/771-002-042___-___2025-01-23_-_10-34-33___-___test_file_1.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..b3987e27a6680219d10144aba89575ac8470ecca
GIT binary patch
literal 9819
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

literal 0
HcmV?d00001

-- 
GitLab