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)
Small improvements with the error handling inside item_upload.py 8d8361aa6ca7fca69407fb6c2f7450a9fd3ad40d LagerBadel PC:Magdalena 2019-04-12 12:31:39
Fixed the Windows Version because of corrupted Sym Links from the Windows Version 21c1d49e6508a27e3ba86741843c4141e09be2ee Sebastian Fricke 2019-04-12 11:57:28
The push from the windows machine corrupted the Linux Version, it is now re compiled. 1a642842228b959ad9ca1253b6e0df25d75e3d67 Sebastian Fricke 2019-04-12 09:34:27
Added a executable File db4d6f812ada2d497e2ffa255ddf62fd88c98e9f Sebastian Fricke 2019-04-12 08:24:14
current working version 10-04-19 f57799f6815c8c76217f64e292d6cf61e0deffb7 Sebastian Fricke 2019-04-10 14:40:36
Changed the collection_name field to the newer seasons field in the property upload b13a2282d20e97f6f414e02ace9673246678adc4 Sebastian Fricke 2019-03-29 09:59:05
Added a feature upload and removed a test print from the barcode upload b04dc65a93ff10c650cdaf48d1a7922ff4769ecc Sebastian Fricke 2019-03-28 14:57:54
Added FNSKU code and removed freetext fields to replace them with properties 4f77496d60be1afbd90a7279b14643267b4430cc Sebastian Fricke 2019-03-27 11:09:55
Added FNSKU code and removed freetext fields to replace them with properties 3d76e8769337dd96fa02503eb242fd192f3c148d Sebastian Fricke 2019-03-27 11:06:41
Update to property Upload because it isn't necessary to have a property for each material 37c01ce472dc85a9f7a39bd164a2ea53c28b4955 Sebastian Fricke 2019-03-18 16:08:14
added a filter for items with only 1 size that currently works with single parent child combinations fd3bf2b659614d5518884eb3da77b564cd0018eb Sebastian Fricke 2019-02-28 16:08:57
Market connection adjusted to AmazonFBA 1feb4b2e96c6a55ad0494696fd18fd6fb42babb0 Sebastian Fricke 2019-02-25 12:21:05
current version Feb 2019 00b24836dd378f21942ed323c2b66f928b9fb4c4 Sebastian Fricke 2019-02-25 09:00:00
Changes to fit to the new flatfile format 91cd339571f607e88f6e922f1a47630c4c8d62a7 Sebastian Fricke 2019-02-08 13:28:02
Small removal of redundant code b271de0b1be1d83be088b00a35b5618af088b58a Sebastian Fricke 2019-01-30 18:08:15
General improvements and property upload bb48084db4359210eb892a04f1322f6fda822bef Sebastian Fricke 2019-01-30 17:43:32
Fixed scripts according to dataformat changes + readme dec28d9e6ff5c5c903d5ca01a969e661d43b66c6 Sebastian Fricke 2019-01-29 21:08:04
Working Checkboxes and file import 25378c68a6220c1c6570642920e6150a50415153 Sebastian Fricke 2019-01-29 21:03:23
Added checkboxes, descriptions, import and runbutton 2021f0960e70c8c229ec08488165dc01b998a6e0 Sebastian Fricke 2019-01-27 22:19:18
Added market connection, cosmetics in product import c9a771d5e7a3a80adc650e773c568e00dd8e2aea Sebastian Fricke 2019-01-23 15:01:47
Commit 8d8361aa6ca7fca69407fb6c2f7450a9fd3ad40d - Small improvements with the error handling inside item_upload.py
Author: LagerBadel PC:Magdalena
Author date (UTC): 2019-04-12 12:31
Committer name: LagerBadel PC:Magdalena
Committer date (UTC): 2019-04-12 12:31
Parent(s): 21c1d49e6508a27e3ba86741843c4141e09be2ee
Signer:
Signing key:
Signing status: N
Tree: 43acee90cac05a99170400cc66989cd7a726e6b3
File Lines added Lines deleted
packages/item_upload.py 9 5
packages/variation_upload.py 1 1
product_import.py 10 5
File packages/item_upload.py changed (mode: 100644) (index a27c0eb..93de668)
... ... def itemUpload(flatfile, intern):
102 102
103 103 except Exception as err: except Exception as err:
104 104 print(err) print(err)
105 print('Error at the Values')
105 106 Data[row['item_sku']] = SortedDict(zip(column_names, values)) Data[row['item_sku']] = SortedDict(zip(column_names, values))
106 107 except KeyError as err: except KeyError as err:
107 print(err)
108 print("Error at : 'if(row['parent_child'] == 'parent'):'")
108 109 return row['item_sku'] return row['item_sku']
109 110
110 111 # open the intern number csv to get the item ID # open the intern number csv to get the item ID
111 112 with open(intern, mode='r') as item: with open(intern, mode='r') as item:
112 113 reader = csv.DictReader(item, delimiter=";") reader = csv.DictReader(item, delimiter=";")
113 114 for row in reader: for row in reader:
114 if(row['amazon_sku'] in [*Data]):
115 Data[row['amazon_sku']]['ItemID'] = row['article_id']
116 Data[row['amazon_sku']]['PrimaryVariationExternalID'] = row['full_number']
115 try:
116 if(row['amazon_sku'] in [*Data]):
117 Data[row['amazon_sku']]['ItemID'] = row['article_id']
118 Data[row['amazon_sku']]['PrimaryVariationExternalID'] = row['full_number']
119 except KeyError as keyerr:
120 print(keyerr)
121 print("Keyerror at the Intern Number addition")
117 122
118 123 # Write Data into new CSV for Upload # Write Data into new CSV for Upload
119 124 # OUTPUT # OUTPUT
 
... ... def itemUpload(flatfile, intern):
121 126
122 127 variation_upload.writeCSV(Data, "item", column_names) variation_upload.writeCSV(Data, "item", column_names)
123 128
124
125 129 def itemPropertyUpload(flatfile, export): def itemPropertyUpload(flatfile, export):
126 130
127 131 with open(flatfile, mode='r') as item: with open(flatfile, mode='r') as item:
File packages/variation_upload.py changed (mode: 100644) (index fa9862b..4fe31bd)
... ... def numberOfSizes(flatfile):
218 218
219 219 sizeset.discard('') sizeset.discard('')
220 220
221 print("lenght of set %0, content of set %1",len(sizeset), sizeset)
221 print("lenght of set {0}, content of set {1}".format(len(sizeset), sizeset))
222 222
223 223 return len(sizeset) return len(sizeset)
File product_import.py changed (mode: 100644) (index bf175f4..088356e)
... ... def main():
26 26 try: try:
27 27 print("\nItem Upload\n") print("\nItem Upload\n")
28 28 erroritem = itemUpload(sheet, intern_number) erroritem = itemUpload(sheet, intern_number)
29 except:
30 print("Item Upload failed!")
31 print("Here: ", erroritem)
29 except Exception as exc:
30 print("Item Upload failed!\n")
31 print("Here: ", exc, '\n')
32 e = sys.exc_info()
33 for element in e:
34 print(element)
32 35 try: try:
33 36 print("\nVariation Upload\n") print("\nVariation Upload\n")
34 37 variationUpload(sheet, intern_number) variationUpload(sheet, intern_number)
35 38 except Exception as exc: except Exception as exc:
36 print(exc)
37 print("VariationUpload failed!")
39 print("VariationUpload failed!\n")
40 e = sys.exc_info()
41 for element in e:
42 print(element)
38 43
39 44 print("###########################################################") print("###########################################################")
40 45 print("\nUpload the files in plentymarkets, make sure that the categories are set because they are necessary for the active Upload.\n") print("\nUpload the files in plentymarkets, make sure that the categories are set because they are necessary for the active Upload.\n")
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