No project description provided
Project description
database-extractor
Description
This project intends to create a python package to extract the content of a database and convert it into a python object. For the moment, this package can only extract the content of SQLite3 databases.
Export format
A database can be exported as a JSON or as an XML at the moment. A short exemple of both implementation is given below.
XML
<?xml version='1.0' encoding='utf-8'?>
<database name="resources/dummy.db">
<table name="Tab1">
<row>
<column type="str" key="userId" value="C2V6" />
<column type="NoneType" key="convId" value="None" />
<column type="str" key="sent" value="0" />
</row>
</table>
<table name="Tab2">
<row>
<column type="str" key="convId" value="uaz-57" />
<column type="int" key="messageId" value="1" />
<column type="str" key="extKey" value="chat" />
</row>
<row>
<column type="str" key="convId" value="r2d-2a" />
<column type="int" key="messageId" value="3" />
<column type="str" key="extKey" value="27FwAPH4QapLXF5fhDcs7" />
</row>
<row>
<column type="str" key="convId" value="av7-dp" />
<column type="int" key="messageId" value="5" />
<column type="bytes" key="extKey" value="0000040f" />
</row>
</table>
</database>
JSON
{
"resources/dummy.db": {
"Tab1": [
{
"userId": {
"value": "C2V6",
"type": "str"
},
"convId": {
"value": null,
"type": "NoneType"
},
"sent": {
"value": 0,
"type": "int"
}
}
],
"Tab2": [
{
"convId": {
"value": "uaz-57",
"type": "str"
},
"messageId": {
"value": 1,
"type": "int"
},
"extKey": {
"value": "chat",
"type": "str"
}
},
{
"convId": {
"value": "r2d-2a",
"type": "str"
},
"messageId": {
"value": 3,
"type": "int"
},
"extKey": {
"value": "27FwAPH4QapLXF5fhDcs7",
"type": "str"
}
},
{
"convId": {
"value": "av7-dp",
"type": "str"
},
"messageId": {
"value": 5,
"type": "int"
},
"extKey": {
"value": "0000040f",
"type": "bytes"
}
}
]
}
}
Example
from database_converter.converters.sqlite3.db import SQLite3DatabaseFileConverter
import database_converter.writers.json as json
import database_converter.writers.xml as xml
if __name__ == '__main__':
# Convert the content of the database into a python object
extractor = SQLite3DatabaseFileConverter('DB1.db')
content = extractor.convert()
# Save as a XML
xml.write('extraction.xml', content)
# Save as a JSON
json.write('extraction.json', content)
Features to implement
- extractors: sqlite3 WAL
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file database_converter-0.0.4.tar.gz.
File metadata
- Download URL: database_converter-0.0.4.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af027ad7af692f34dfa291d3eb66a2760c9de7d35305ae0a45708a6fe86bf44e
|
|
| MD5 |
fc87fbc7257f3e069317e79a66783a24
|
|
| BLAKE2b-256 |
668211833a30a9cec0b72df69144e62a7e4e722a0d1e8878abb1ede689518b0a
|
File details
Details for the file database_converter-0.0.4-py3-none-any.whl.
File metadata
- Download URL: database_converter-0.0.4-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d78f7074f6d25402bfdbdc5edf02160a5f9125a70a1f89dd2bc6f9f687694576
|
|
| MD5 |
b4395c034215b33f06c582efb977f0b7
|
|
| BLAKE2b-256 |
8e8c7ffa858907b8a15b1ad4c197a19e842eade56359daa0772beaed91332a9c
|