initBasti / Amazon2PlentySync (public) (License: GPLv3) (since 2019-01-27) (hash sha1)
Transfer your data from you Amazon Flatfile spreadsheet over to the Plentymarkets system. How to is included in the readme
List of commits:
Subject Hash Author Date (UTC)
Remove encoding from xlsx file intern numbers 798259d898b83395e50f4d855399058c807f0c0c Sebastian Fricke 2020-04-29 13:50:47
Improve coding style and linting d3d1d6de52f0f5530ec200aae082ac0ec99ddd70 Sebastian Fricke 2020-04-29 10:08:21
Remove fixed values for specific item settings 0f2452a1bb953efcbb797c5feeb2b8f35617f537 Sebastian Fricke 2020-04-29 08:38:52
Remove fixed fba values from upload 758ca263cf88343c55af70b1e7824c76d485d7f2 Sebastian Fricke 2020-04-29 08:32:09
Remove market assign & availibilty settings fdf971d45706f8c75d9a7ea7e949193c45620051 Sebastian Fricke 2020-04-29 07:31:36
Remove manual upload of extern id & export files 66d60bc9243173f256b01071f203849edf43546d Sebastian Fricke 2020-04-28 13:55:27
Bug Fix: product-import.py Empty TK root window 0b087f8a7902523b2495c936a6e09447a93a6cb5 Sebastian Fricke 2020-04-28 09:41:04
Add ignore file for silver searcher tool 87a1b335af1f88c10ad12e5b8f59f8207c58aaec Sebastian Fricke 2020-04-28 09:25:54
add tests folder pycache to gitignore 9d7989d1658d3dffd7eb00e9411af3dec6c85563 Sebastian Fricke 2020-04-27 12:55:24
Unit test for find_price function c19fa28ad9bf0dd1b5361e871dc498f6704cb196 Sebastian Fricke 2020-04-27 12:53:20
Remove price calculation from script d852cb3ef648336ed94daeaaa220721e6055dd7c Sebastian Fricke 2020-04-27 12:50:52
Function description priceUpload 2c5735f4f4c79607f55c77b1359aa5984d1e6699 Sebastian Fricke 2020-04-23 09:34:30
similar attribute search regardless of the parent 4bb0970408d78d25264d479428fe8c3389483215 Sebastian Fricke 2020-04-23 09:28:19
Fix marking dropdown bug 0d1695083d2b4e49fd364a36a7ef3c92a192d62f Sebastian Fricke 2020-04-23 09:26:46
update desktop specific build script for windows 8a6536d6173f7383022fab92f234ab25fc81204b Sebastian Fricke 2020-04-22 10:15:05
Refactor config handling a9be950a4e8d97fa97c7e9caff33fcbb1f476d9d Sebastian Fricke 2020-04-22 10:11:57
Fix gui/category_chooser: file change bug 9879e65c9aad9b1feb05b6121a0e33c129a8beb5 Sebastian Fricke 2020-04-22 10:09:36
update .gitignore 6c7628af605a72ced1e146c27da8639225ab9c6c Sebastian Fricke 2020-04-22 10:08:47
Fix error.py: Fix colorful messages on windows 31f0b106c7aee1962bba3efb5758f647170eceff Sebastian Fricke 2020-04-22 10:07:30
Enhanced error output to extra module dda37a22d21db1af6330fd62395682b91f46f5ec Sebastian Fricke 2020-01-27 10:56:00
Commit 798259d898b83395e50f4d855399058c807f0c0c - Remove encoding from xlsx file intern numbers
remove encoding check and dictionary field from intern number file as it
is a xlsx file. Change the path variable to be a simple string.
Author: Sebastian Fricke
Author date (UTC): 2020-04-29 13:50
Committer name: Sebastian Fricke
Committer date (UTC): 2020-04-29 13:50
Parent(s): d3d1d6de52f0f5530ec200aae082ac0ec99ddd70
Signing key:
Tree: b5bf3b78126346f52b627853c1fd1337b4095554
File Lines added Lines deleted
packages/item_upload.py 2 2
product_import.py 10 11
File packages/item_upload.py changed (mode: 100644) (index be45975..30d5d3b)
... ... def get_externalid(dataset, numberlist):
480 480 return return
481 481
482 482 try: try:
483 extern_id = pandas.read_excel(numberlist['path'])
483 extern_id = pandas.read_excel(numberlist)
484 484 except xlrd.biffh.XLRDError as err: except xlrd.biffh.XLRDError as err:
485 485 error.errorPrint( error.errorPrint(
486 msg=str(f"..{numberlist['path'][-30:]} requires type [.xlsx]"),
486 msg=str(f"..{numberlist[-30:]} requires type [.xlsx]"),
487 487 err=err, linenumber=sys.exc_info()[2].tb_lineno) err=err, linenumber=sys.exc_info()[2].tb_lineno)
488 488 if os.name == 'nt': if os.name == 'nt':
489 489 print("press ENTER to continue..") print("press ENTER to continue..")
File product_import.py changed (mode: 100644) (index e672def..8ea0200)
... ... def main():
36 36 features = {} features = {}
37 37 category_id = {} category_id = {}
38 38 sheet = {'path':'', 'encoding':''} sheet = {'path':'', 'encoding':''}
39 intern_number = {'path':'', 'encoding':''}
40 39 stocklist = {'path':'', 'encoding':''} stocklist = {'path':'', 'encoding':''}
41 plenty_export = ''
42 40 attributefile = {'path':'', 'encoding':''} attributefile = {'path':'', 'encoding':''}
43 41 internnumber = {'path':'', 'encoding':''} internnumber = {'path':'', 'encoding':''}
42 intern_number = ''
43 plenty_export = ''
44 44 step = 0 step = 0
45 45
46 46 root = tkinter.Tk() root = tkinter.Tk()
 
... ... def main():
71 71 input_folder = config['PATH']['data_folder'] input_folder = config['PATH']['data_folder']
72 72 attribute_date = config['PATH']['file_change_date'] attribute_date = config['PATH']['file_change_date']
73 73 attributefile['path'] = config['PATH']['attribute_file'] attributefile['path'] = config['PATH']['attribute_file']
74 internnumber['path'] = config['PATH']['internnumbers']
74 internnumber = config['PATH']['internnumbers']
75 75 plenty_export = config['PATH']['export_plentymarkets'] plenty_export = config['PATH']['export_plentymarkets']
76 76
77 77 if not plenty_export: if not plenty_export:
 
... ... def main():
94 94 config.write(configfile) config.write(configfile)
95 95
96 96 # Initial start or invalid intern number file # Initial start or invalid intern number file
97 if(not(internnumber['path']) or
98 not os.path.exists(internnumber['path'])):
99 internnumber['path'] = askopenfilename(
97 if(not(internnumber) or
98 not os.path.exists(internnumber)):
99 internnumber = askopenfilename(
100 100 initialdir=input_folder, title="Intern number list", initialdir=input_folder, title="Intern number list",
101 101 filetypes=[ ("xlsx files", "*.xlsx") ]) filetypes=[ ("xlsx files", "*.xlsx") ])
102 internnumber = checkEncoding(internnumber)
103 config['PATH']['intern_number'] = internnumber['path']
102 config['PATH']['intern_number'] = internnumber
104 103
105 104 with open('config.ini', 'w') as configfile: with open('config.ini', 'w') as configfile:
106 105 config.write(configfile) config.write(configfile)
107 106
108 107 if not attributefile['encoding']: if not attributefile['encoding']:
109 108 attributefile = checkEncoding(attributefile) attributefile = checkEncoding(attributefile)
110 if not internnumber['encoding']:
111 internnumber = checkEncoding(internnumber)
112 109
113 110 features = assignFeatures(config=config) features = assignFeatures(config=config)
114 111 if not features: if not features:
 
... ... def main():
252 249 file_name=ntpath.basename(sheet['path'])) file_name=ntpath.basename(sheet['path']))
253 250 except OSError as err: except OSError as err:
254 251 print(err) print(err)
255 print("Missing Data, check if you have\n - a flatfile\n - a intern file table\n - export file from plentymarkets\n - a sheet with the stock numbers!\n")
252 print("Missing Data, need:\n* flatfile\n* stock numbers!\n")
256 253 try: try:
257 254 print("Property Upload") print("Property Upload")
258 255 step += 1 step += 1
 
... ... def main():
279 276 print(err) print(err)
280 277 print("Missing Data, check if you have\n - a flatfile\n - a sheet with the stock numbers!\n") print("Missing Data, check if you have\n - a flatfile\n - a sheet with the stock numbers!\n")
281 278
279 print('press ENTER to after the upload was successful')
280 input()
282 281 step += 1 step += 1
283 282 imageUpload(flatfile=sheet, imageUpload(flatfile=sheet,
284 283 attributefile=attributefile, attributefile=attributefile,
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/initBasti/Amazon2PlentySync

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/initBasti/Amazon2PlentySync

Clone this repository using git:
git clone git://git.rocketgit.com/user/initBasti/Amazon2PlentySync

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main