Add import orders
This commit is contained in:
commit
2f93f73c0e
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
database.ini
|
||||
*.csv
|
0
__init__.py
Normal file
0
__init__.py
Normal file
BIN
__pycache__/config.cpython-311.pyc
Normal file
BIN
__pycache__/config.cpython-311.pyc
Normal file
Binary file not shown.
BIN
__pycache__/insert_order.cpython-311.pyc
Normal file
BIN
__pycache__/insert_order.cpython-311.pyc
Normal file
Binary file not shown.
20
config.py
Normal file
20
config.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
from configparser import ConfigParser
|
||||
|
||||
def load_config(filename='database.ini', section='postgresql'):
|
||||
parser = ConfigParser()
|
||||
parser.read(filename)
|
||||
|
||||
# get section, default to postgresql
|
||||
config = {}
|
||||
if parser.has_section(section):
|
||||
params = parser.items(section)
|
||||
for param in params:
|
||||
config[param[0]] = param[1]
|
||||
else:
|
||||
raise Exception('Section {0} not found in the {1} file'.format(section, filename))
|
||||
|
||||
return config
|
||||
|
||||
if __name__ == '__main__':
|
||||
config = load_config()
|
||||
print(config)
|
17
connect.py
Normal file
17
connect.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
import psycopg2
|
||||
from config import load_config
|
||||
|
||||
def connect(config):
|
||||
""" Connect to the PostgreSQL database server """
|
||||
try:
|
||||
# connecting to the PostgreSQL server
|
||||
with psycopg2.connect(**config) as conn:
|
||||
print('Connected to the PostgreSQL server.')
|
||||
return conn
|
||||
except (psycopg2.DatabaseError, Exception) as error:
|
||||
print(error)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
config = load_config()
|
||||
connect(config)
|
5
database.ini.sample
Normal file
5
database.ini.sample
Normal file
|
@ -0,0 +1,5 @@
|
|||
[postgresql]
|
||||
host=localhost
|
||||
database=dbname
|
||||
user=user
|
||||
password=password
|
0
failed/__init__.py
Normal file
0
failed/__init__.py
Normal file
0
history/__init__.py
Normal file
0
history/__init__.py
Normal file
25
import_data.py
Normal file
25
import_data.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Import necessary packages
|
||||
import glob
|
||||
import csv
|
||||
import shutil
|
||||
from insert_order import insert_order
|
||||
|
||||
# Import Oder History
|
||||
path = "./upload/Order_History*.csv"
|
||||
for filename in glob.glob(path):
|
||||
with open(filename) as file_obj:
|
||||
# Skips the heading
|
||||
# Using next() method
|
||||
heading = next(file_obj)
|
||||
|
||||
# Create reader object by passing the file
|
||||
# object to reader method
|
||||
reader_obj = csv.reader(file_obj)
|
||||
|
||||
# Iterate over each row in the csv file
|
||||
# using reader object
|
||||
for row in reader_obj:
|
||||
print(row)
|
||||
insert_order (row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9])
|
||||
shutil.move(filename, "history/")
|
||||
|
31
insert_order.py
Normal file
31
insert_order.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
import sys
|
||||
import psycopg2
|
||||
from config import load_config
|
||||
|
||||
|
||||
def insert_order(reporting_no, order_no, offline_no, created_by, first_opened, last_closed, net_sales, tax, final_total, payments_total):
|
||||
""" Insert a new order into the orders table """
|
||||
|
||||
sql = """INSERT INTO orders(reporting_no, order_no, offline_no, created_by, first_opened, last_closed, net_sales, tax, final_total, payments_total)
|
||||
VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s);"""
|
||||
|
||||
vendor_id = None
|
||||
config = load_config()
|
||||
|
||||
try:
|
||||
with psycopg2.connect(**config) as conn:
|
||||
with conn.cursor() as cur:
|
||||
# execute the INSERT statement
|
||||
cur.execute(sql, (reporting_no, order_no, offline_no, created_by, first_opened, last_closed, net_sales, tax, final_total, payments_total))
|
||||
|
||||
# commit the changes to the database
|
||||
conn.commit()
|
||||
except (Exception, psycopg2.DatabaseError) as error:
|
||||
print(error)
|
||||
finally:
|
||||
#return vendor_id
|
||||
print('success')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
insert_order(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6], sys.argv[7], sys.argv[8], sys.argv[9], sys.argv[10])
|
0
logs/__init__.py
Normal file
0
logs/__init__.py
Normal file
0
upload/__init__.py
Normal file
0
upload/__init__.py
Normal file
Loading…
Reference in a new issue