From d88a9f2a773e52d5ee99cdd46ac98175a67240cd Mon Sep 17 00:00:00 2001 From: sosguns2002 Date: Fri, 2 Jun 2017 13:35:45 +0300 Subject: [PATCH] New css UIKIT --- .../madoap/src/madserver.py | 19 ++++++++++++++++++ .../madoap/src/static/favicon.ico | Bin 1830 -> 32988 bytes .../madoap/src/templates/base.html | 1 - 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/interactive-mining-madoap/madoap/src/madserver.py b/interactive-mining-madoap/madoap/src/madserver.py index 6632488..d6dfdb6 100755 --- a/interactive-mining-madoap/madoap/src/madserver.py +++ b/interactive-mining-madoap/madoap/src/madserver.py @@ -73,6 +73,7 @@ class Application(tornado.web.Application): (r"/save-config-controller", profileCreationHandler), (r"/download-config-controller", profileServeHandler), (r"/upload-profile-controller", profileUploadHandler), + (r"/create-upload-profile", createUploadProfileHandler), (r"/?$", madAppBarHandler), (r"/[^/]+/?$", madAppHandler), (r"/[^/]+/.+$", madAppDataHandler) @@ -481,6 +482,7 @@ class profileCreationHandler(BaseHandler): class profileServeHandler(BaseHandler): + passwordless=True def get(self): try: user_id = self.get_secure_cookie('madgikmining') @@ -698,6 +700,23 @@ class importingTextsControllerHandler(BaseHandler): return +class createUploadProfileHandler(BaseHandler): + passwordless=True + # When loading the page first time and evry refresh + def get(self): + if 'data' in self.request.arguments: + return + else: + # check if we already gave client a user_id + user_id = self.get_secure_cookie('madgikmining') + if not user_id: + # give him a unique user_id + user_id = 'user{0}'.format(datetime.datetime.now().microsecond + (random.randrange(1, 100+1) * 100000)) + self.set_secure_cookie('madgikmining', user_id) + # check if he already uploaded his grants ids and inform him via a message + self.render('create_upload_profile.html', settings=msettings) + + class madAppHandler(BaseHandler): def get(self): diff --git a/interactive-mining-madoap/madoap/src/static/favicon.ico b/interactive-mining-madoap/madoap/src/static/favicon.ico index 7789bf723f98db493afe98dd2155b830107cbbf4..151eca1baaa93b204ded4693423dac971f11d08d 100644 GIT binary patch literal 32988 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 NnkCRIfj^D}{tq}S<$C}C literal 1830 zcmV+>2if=l0096301yxm0096506PKz044wc03aX`009650L26V0AT_E0EtjeM-2)Z z3IG5A4M|8uQUCw|5C8xG5C{eU001BJ|6u?C0s=`yK~y-6jgmiT6LA#BKe=qN5jyB0 zB&DKhlLnIGdN~h0M9*`&nFZSlw*ZP9FHdjY|mv z^9v;x28b&#b~J&x(cnYTa<^vEDp!SsRy2u5_MnKCeSxLt%Pu?;Q;4czzP!;`cLaVR z)3i+FdJRP!Y4lF~qH36lQNf{b=bLoDMt68V()6iuGHDfnSMTdo z$~vD)I!(*`BMcz5H{ZT>0)W|Efh*Z}RLVNjMWihEs0^-u6eG4w&dSoz?D9e8V1+_14xRHc>3f_N0MQ98s;uf>~P+51>M|o z6d_?)HnX_`Yo#jdjv%QHFn2NePZ;1Q=q0?RaVT`L00000NkvXXu0mjfiBL{Q4GJ0x z0000DNk~Le0000W0000W2nGNE0CReJ^Z)<^j7da6R9Jd)4`Ntw%})AvsPz4;+f#S#wTE6$|MA@w;9b?D=sKM2pv1K`Yckngr?>R1)KHBIww35RIu&W7$Ko&>VE zba#qpv)Y0ybD4|@42&;uqqUFVy}s4cZDMbS)k=Ze!l`4$9I13^{!^`0J)oB2)ZC(> zfqu_+eIK~lHq5t|AI5A7v2;6jLFF${ONO&a~yzW4T0Eg9CaN@)rdPnE=z;+uu-EKZ8+$Oey zof9cN;49AIR)bgQBqhq!+#(axD`YDISu4jUR7|?0M77`$w_1|<3kXiHSbwqpJ*umA z^UH&mf{58>BPPoj$qLX8N(wWPl&G#$0n+bvj2Zl?&;CV4q3MS)VzNwu+d|-QfT6DE zI`Cv5b!`L=kRELB*K1e7Ybx{c@3jNa@n{B5&Nd$Oz>Db!iz7XnP{d@JkwLIqz54Uk z5Pc)E+cygZ{RBHF@aLq__|3=MXzk<6;|27NNjw~ndnYE#A{ht97YsXPDlz%W zzDs=}Nvwi|a0Ctq`0%Y59gk*sscaKrFxzajH16LJfi-7AO=Ui(PnH5OF|AM$$l~Ia zr#u{-qvxk-cDmid`c#RyVFG@ygIzukr%#rO>;=fn*#W?n#&R*FDgs$le}4b9fCT}+ z*CEQ#?{(1D_8G7e%bRV(x*wdm4gii+x{#D8`^xt))b(8CfJ$`T1a|p6fH&bO z*N*C~PO?7LIBq(#cSCX45KtF(YZ`a1)y6$xV7Usal2O5v?}o2M0HCBWldIQ`Qu9e^ zJOn8&Bn55@Esgs%;K^6>^@! -