diff --git a/app.py b/app.py index ffd004fdfb510118249244c9dec5ffc86bb4ad3f_YXBwLnB5..8651fffbf7452974067f753a5097ce19541e2969_YXBwLnB5 100755 --- a/app.py +++ b/app.py @@ -468,6 +468,6 @@ class Case: - def __init__(self, title, description, story=False): + def __init__(self, title, description, taglines=None, story=False): self.title = title self.description = description @@ -472,5 +472,6 @@ self.title = title self.description = description + self.taglines = taglines or [] self.story = story @property @@ -497,6 +498,10 @@ CASES = [ Case(title="ALS Swiss", description="A society for people suffering ALS disease.", + taglines=[ + "The Swiss ALS society improves its donation management " + "thanks to Tryton", + ], story=True), Case(title="APAR @ AIIMS", description="Annual Performance Appraisal for the All Indian " @@ -505,6 +510,9 @@ Case( title="Advocate Consulting Legal Group", description="A legal firm servicing the general aviation industry", + taglines=[ + "Law firms can also benefit from Tryton", + ], story=True), Case( title="Banque Française Mutualiste", @@ -512,7 +520,11 @@ Case( title="Blue Box Distribution", description="An international distributor of hair care products.", + taglines=[ + "Tryton helps to structure " + "BLUE BOX Distribution's business processes", + ], story=True), Case( title="Buchkontor Teltow", description="A bookstore with its on publishing house", @@ -515,8 +527,11 @@ story=True), Case( title="Buchkontor Teltow", description="A bookstore with its on publishing house", + taglines=[ + "Buchkontor Teltow uses the Tryton POS to sell books", + ], story=True), Case( title="CAMIR", description="A provider of spare parts for machinery.", @@ -519,7 +534,10 @@ story=True), Case( title="CAMIR", description="A provider of spare parts for machinery.", + taglines=[ + "Tryton helps manufacturers like CAMIR reduce paper usage", + ], story=True), Case( title="La Cave Thrace", @@ -530,7 +548,11 @@ Case( title="Expertise Vision", description="Produces vision based systems.", + taglines=[ + "Expertise Vision has structured their purchasing process " + "thanks to Tryton", + ], story=True), Case( title="Felber", description="A stamp and signalisation company.", @@ -533,8 +555,11 @@ story=True), Case( title="Felber", description="A stamp and signalisation company.", + taglines=[ + "Tryton can handle Felber's huge amount of invoices", + ], story=True), Case( title="GotSHO LIMS", description="Software Solution for genomic world.", @@ -537,8 +562,12 @@ story=True), Case( title="GotSHO LIMS", description="Software Solution for genomic world.", + taglines=[ + "Tryton's framework is used to develop a LIMS solution " + "for genetics and diagnostics", + ], story=True), Case( title="Grufesa", description="Exports strawberries in Europe.", @@ -541,7 +570,11 @@ story=True), Case( title="Grufesa", description="Exports strawberries in Europe.", + taglines=[ + "Tryton helps Grufesa export berries to countries all around the " + "world", + ], story=True), Case( title="Institut Mèdic per la Imatge", @@ -550,7 +583,11 @@ Case( title="Inmedio Berlin", description="An institute specialising in conflict resolution.", + taglines=[ + "Inmedio does their tax report without an external consultant " + "thanks to Tryton", + ], story=True), Case( title="Jordà ", description="Installs and maintains lifts and elevators.", @@ -553,9 +590,13 @@ story=True), Case( title="Jordà ", description="Installs and maintains lifts and elevators.", + taglines=[ + "Tryton can be connected to an android application " + "which can then add data in real time", + ], story=True), Case( title="Legna", description="Graphic design, digital printing " "and offset solution company", @@ -557,10 +598,14 @@ story=True), Case( title="Legna", description="Graphic design, digital printing " "and offset solution company", + taglines=[ + "Legna uses Tryton to structure its digital printing process " + "and improve its productivity", + ], story=True), Case( title="Koolvet", description="Software for veterinary clinics that deal with small " "domestic pets and larger farm animals.", @@ -562,8 +607,11 @@ story=True), Case( title="Koolvet", description="Software for veterinary clinics that deal with small " "domestic pets and larger farm animals.", + taglines=[ + "Tryton powers a vertical solution for the veterinarian sector", + ], story=True), Case( title="MenschensKinder Teltow", @@ -572,6 +620,9 @@ Case( title="Mifarma", description="Leading online parapharmacy.", + taglines=[ + "MiFarma delivers more than 2000 daily shipments thanks to Tryton", + ], story=True), Case( title="Lackierzentrum Reichenbach", @@ -581,6 +632,10 @@ title="Revelle", description="Consulting in developing countries and " "emerging economies.", + taglines=[ + "The Revelle Group manages its energy " + "and environmental projects with Tryton", + ], story=True), Case( title="Sinclair Containers", @@ -592,6 +647,9 @@ Case( title="Wenger Energie", description="A provider of vacuum degassing and filter systems.", + taglines=[ + "Tryton manages Wenger Energie's 4 companies", + ], story=True), ] @@ -629,6 +687,23 @@ abort(HTTPStatus.NOT_FOUND) +@app.route('/success-stories/<story>/tagline') +def success_story_tag_line(story): + if story == '_': + case = choice(list(filter(attrgetter('taglines'), CASES))) + story = case.name + else: + try: + case = CASES[CASES.index(story)] + except ValueError: + abort(HTTPStatus.NOT_FOUND) + if not case.taglines: + abort(HTTPStatus.NOT_FOUND) + tagline = choice(case.taglines) + return "\n".join( + [tagline, url_for('success_story', story=story, _external=True)]) + + @sitemap.register_generator def success_story_generator(): for case in CASES: