diff src/tools/frontends/strings.py @ 690:d8e7a58eaa00

misc: added a file for frontend's string operations: - the method getURLParams defined here is needed for Libervia autologin feature
author souliane <souliane@mailoo.org>
date Fri, 08 Nov 2013 19:14:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/tools/frontends/strings.py	Fri Nov 08 19:14:13 2013 +0100
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# SAT helpers methods for plugins
+# Copyright (C) 2013 Adrien Cossa (souliane@mailoo.org)
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+def getURLParams(url):
+    """This comes from pyjamas.Location.makeUrlDict with a small change
+    to also parse full URLs, and parameters with no value specified
+    (in that case the default value "" is used).
+    @param url: any URL with or without parameters
+    @return: a dictionary of the parameters, if any was given, or {}
+    """
+    dict_ = {}
+    if "/" in url:
+        # keep the part after the last "/"
+        url = url[url.rindex("/") + 1:]
+    if url.startswith("?"):
+        # remove the first "?"
+        url = url[1:]
+    pairs = url.split("&")
+    for pair in pairs:
+        if len(pair) < 3:
+            continue
+        kv = pair.split("=", 1)
+        dict_[kv[0]] = kv[1] if len(kv) > 1 else ""
+    return dict_
+