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)
fixed a bug with the encoding function 0c5b9dd0414037743bf39fdc3420d55035bffa61 Sebastian Fricke 2019-05-14 15:10:17
Major Update added a config file for better useability and added a gui to enter the category and the name of the product further work towards the rework from dynamic import to elastic sync e4356af15a4b8f7393f85bd51c16b330bc3555af Sebastian Fricke 2019-05-14 14:43:03
Changed the price upload to identify items that are not in plentymarkets and added a webshop price 4ab9bcd988f9eb26647748a8f80f25c8c5b7f2e2 Sebastian Fricke 2019-05-03 09:18:35
added Webshop to marketconnections 84f93694fe0c67972ad951649d9f6f0d577d3e29 Sebastian Fricke 2019-05-01 14:12:00
Added the modelnumber feature and removed the creation of empty features ea98391f2dbdf8fb8e601153b4f6ebfca504929c Sebastian Fricke 2019-05-01 12:31:19
Changed the feature upload into a loop for more overview 0a1bee82659a576c6fb4f2641aa3990d8d686b3c Sebastian Fricke 2019-05-01 10:04:20
Added a few new instructions to the Instructions file b4878c59958f89a02937de1dfc7aabbd23e71061 LagerBadel PC:Magdalena 2019-04-18 09:41:10
Made some fields not required but added Warnings for the log file, additionally some new amazon features were added. 6392338b7e9968be3bc4da9031144c3cc2cfae48 Sebastian Fricke 2019-04-18 09:37:51
Added an error log system and improved overall workflow 2e3763e436899466db9f03f70ea926869afd3219 Sebastian Fricke 2019-04-18 08:12:27
Added additional feature uploads 528cad4899d3e3adca5098c1a0ce92c2a6b8a853 Sebastian Fricke 2019-04-16 10:25:49
Added an optimization for the initial directory for Linux 58b340605cba0603520ada8a184cc9fba5f8c3b8 Sebastian Fricke 2019-04-16 10:22:18
Fixed a typo in the build script f7943d8b2c33b89b083380902f1b1281366a12b2 Sebastian Fricke 2019-04-16 08:13:51
Added a build script for Linux + removed the finished executables 8fcf82d5de859895d29a7f355c0d49700beb4e38 Sebastian Fricke 2019-04-16 08:10:13
Changed the EAN type from UPC to GTIN_13 which is the correct one. ea74c1d8c001ae6895f07bbecbcb9a0898400b95 Sebastian Fricke 2019-04-15 13:04:54
fixed a bug with item_name + changed the item_name assignment to include the variation name instead of the parent name 7dedb2bb9afac7d5625ccbf9c05f6ff4b1b1e5e1 LagerBadel PC:Magdalena 2019-04-15 12:32:33
Added usage instructions in english and german language. e2f291e2a00ac9283ab9d843e652d7b77fa6bbaf Sebastian Fricke 2019-04-15 09:59:36
Added usage instructions in english and german language. 30646f203ae8847cfa4971cb62187dca8406b8d7 Sebastian Fricke 2019-04-15 09:58:26
Fixed small compilation mistakes concerning positional arguments dc011ec52cf578e2910edde1aeacb893bb2e57f9 Sebastian Fricke 2019-04-15 07:16:14
Fixed a problem with the Upload folder when the executable is within its Folder outside of the root 6ca74a5bbbf13036405c654225de2540cddf2ed0 Sebastian Fricke 2019-04-15 07:02:13
Small improvements with the error handling inside item_upload.py 8d8361aa6ca7fca69407fb6c2f7450a9fd3ad40d LagerBadel PC:Magdalena 2019-04-12 12:31:39
Commit 0c5b9dd0414037743bf39fdc3420d55035bffa61 - fixed a bug with the encoding function
Author: Sebastian Fricke
Author date (UTC): 2019-05-14 15:10
Committer name: Sebastian Fricke
Committer date (UTC): 2019-05-14 15:10
Parent(s): e4356af15a4b8f7393f85bd51c16b330bc3555af
Signing key:
Tree: 30260a0fd9f40f0fdd5cef003f01968dea1bf57b
File Lines added Lines deleted
packages/gui/__pycache__/category_chooser.cpython-37.pyc 0 0
packages/gui/category_chooser.py 5 2
packages/item_upload.py 1 0
product_import.py 6 4
File packages/gui/__pycache__/category_chooser.cpython-37.pyc changed (mode: 100644) (index 7d379ac..994ccce)
File packages/gui/category_chooser.py changed (mode: 100644) (index 55156e0..0f4130c)
1 1 import tkinter import tkinter
2 2 import tkinter.filedialog import tkinter.filedialog
3 from tkinter import messagebox as tmb
3 4
4 5 class DropdownChooser(tkinter.Frame): class DropdownChooser(tkinter.Frame):
5 6 def __init__(self, master, *args, **kwargs): def __init__(self, master, *args, **kwargs):
 
... ... class CategoryChooser(tkinter.Tk):
132 133 self.newpath = tkinter.filedialog.askdirectory() self.newpath = tkinter.filedialog.askdirectory()
133 134
134 135 def close_app(self): def close_app(self):
135 self.withdraw()
136
136 if(self.data['name'] and self.data['categories']):
137 self.withdraw()
138 else:
139 tmb.showerror("NO INPUT", "Please enter a name and atleast one category!")
File packages/item_upload.py changed (mode: 100644) (index 7d8ff44..40b6205)
1 1 import csv import csv
2 2 import re import re
3 import chardet
3 4 from os.path import isfile from os.path import isfile
4 5 from sys import exit from sys import exit
5 6 from packages import variation_upload from packages import variation_upload
File product_import.py changed (mode: 100644) (index 8641cd7..7b3db9a)
... ... def main():
119 119 title="Amazon Flatfile as .csv", title="Amazon Flatfile as .csv",
120 120 filetypes=[ ("csv files", "*.csv") ]) filetypes=[ ("csv files", "*.csv") ])
121 121
122 sheet['encoding'] = check_encoding(sheet)
122 sheet = check_encoding(sheet)
123 123
124 124 step += 1 step += 1
125 125 intern_number['path'] = askopenfilename(initialdir=recent_path, intern_number['path'] = askopenfilename(initialdir=recent_path,
126 126 title="The Intern Numbers as .csv", title="The Intern Numbers as .csv",
127 127 filetypes=[ ("csv files", "*.csv") ]) filetypes=[ ("csv files", "*.csv") ])
128 128
129 intern_number['encoding'] = check_encoding(intern_number)
129 intern_number = check_encoding(intern_number)
130 130
131 131 step += 1 step += 1
132 132 try: try:
 
... ... def main():
150 150 if(exc == 'item_sku'): if(exc == 'item_sku'):
151 151 print("It is very likely that you don't have the proper headers, use the english ones!\n") print("It is very likely that you don't have the proper headers, use the english ones!\n")
152 152 e = sys.exc_info() e = sys.exc_info()
153 print("Error @ FILE: {0}, LINE: {1}\n".format( e[2].tb_frame.f_code.co_filename, e[2].tb_lineno ))
153 154 for element in e: for element in e:
154 155 print(element) print(element)
155 156
 
... ... def main():
166 167 except Exception as exc: except Exception as exc:
167 168 print("VariationUpload failed!\n") print("VariationUpload failed!\n")
168 169 e = sys.exc_info() e = sys.exc_info()
170 print("Error @ FILE: {0}, LINE: {1}\n".format( e[2].tb_frame.f_code.co_filename, e[2].tb_lineno ))
169 171 for element in e: for element in e:
170 172 print(element) print(element)
171 173
 
... ... def main():
183 185 title="The Export File from Plentymarkets as .csv", title="The Export File from Plentymarkets as .csv",
184 186 filetypes=[ ("csv files", "*.csv") ]) filetypes=[ ("csv files", "*.csv") ])
185 187
186 export['encoding'] = check_encoding(export)
188 export = check_encoding(export)
187 189 except OSError as fexc: except OSError as fexc:
188 190 fileNotFoundLog(log_path=log_folder, step_number=step, step_desc=step_name[step], file_name=fexc) fileNotFoundLog(log_path=log_folder, step_number=step, step_desc=step_name[step], file_name=fexc)
189 191 except Exception as exc: except Exception as exc:
 
... ... def main():
222 224 title="The Stockreport from Amazon as .csv", title="The Stockreport from Amazon as .csv",
223 225 filetypes=[ ("csv files", "*.csv") ]) filetypes=[ ("csv files", "*.csv") ])
224 226
225 stocklist['encoding'] = check_encoding(stocklist)
227 stocklist = check_encoding(stocklist)
226 228 print("spreadsheet csv containing the FNSKU and ASIN : ", stocklist) print("spreadsheet csv containing the FNSKU and ASIN : ", stocklist)
227 229 except OSError as fexc: except OSError as fexc:
228 230 fileNotFoundLog(log_path=log_folder, step_number=step, step_desc=step_name[step], file_name=fexc) fileNotFoundLog(log_path=log_folder, step_number=step, step_desc=step_name[step], file_name=fexc)
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