Compare commits

...

5 Commits

Author SHA1 Message Date
277da69dfc 1
555

Signed-off-by: lxbfYeaa <lxbfyeaa@noreply.localhost>
2026-04-06 02:58:21 +00:00
533bae3eae 1
555

Signed-off-by: lxbfYeaa <testing@example.com>
2026-04-06 02:00:39 +00:00
a480321821 Merge pull request 'demo' (#3) from demo into main
Reviewed-on: LiveCarta/LiveCartaMeta#3
2026-03-19 10:56:23 +00:00
4fdba10a82 Merge pull request 'qa' (#2) from qa into demo
Reviewed-on: LiveCarta/LiveCartaMeta#2
2026-03-19 10:55:47 +00:00
117f2ae0b7 Merge pull request 'Added CMD instruction to Dockerfile' (#1) from develop into qa
Reviewed-on: LiveCarta/LiveCartaMeta#1
2026-03-19 10:55:22 +00:00
2 changed files with 2 additions and 78 deletions

View File

@@ -1,78 +1 @@
# Book Meta Data Parser
Microservice which solves only one issue parse book meta data from our publishers. Not depends on what format publisher stores this data, the service must grub this information and send an array of data to the main application without any formatting. The main idea is to add components for parsing different formats and have the ability to add publishers just by updating config files.
## Version 1.0
Added two components for working with CSV and FTP.
## Tech Stack
• Docker
• Python 3.11
• MongoDb 6.0.2
• Dynaconf
• Pydantic
• MongoEngine
## Folder structure
• app
◦ components
◦ configs
▪ configs.py keys and url for connection to our main app and creds for service db
▪ main.json main config
▪ sources.json list of sources with components that they use
◦ models
◦ sources
▪ file_types
▪ source_types
## Sources configuration
To configure a new source you need to update source config by adding the params below:
• source_name
• source //with neccesary params for component
• parser_type //with neccesary params for component
Example for CSV files from FTP:
```json
{
"sources": {
"McGrawHill": {
"source_name": "McGrawHill",
"source": {
"type": "ftp",
"ftp_url": "127.0.0.1",
"ftp_login": "frp_login",
"ftp_password": "frp_pass",
"local_files_path": "/app/files/McGrawHill/",
"file_regex": "*.csv"
},
"parser_type": {
"format": "csv"
}
}
}
}
```
Each source parser starts by crontab by command
`python update.py {source_name}`
To see list of source types use command
`python update.py -h`
## Run Updates
Copy .env.sample to .env and update settings
-1 OR 5*5=25 --

1
g8zNRpBr Normal file
View File

@@ -0,0 +1 @@
555