summaryrefslogtreecommitdiff
path: root/examples/python/url-parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/python/url-parse.py')
-rw-r--r--examples/python/url-parse.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/examples/python/url-parse.py b/examples/python/url-parse.py
new file mode 100644
index 000000000..ac8e112ec
--- /dev/null
+++ b/examples/python/url-parse.py
@@ -0,0 +1,64 @@
+# GNU Mailutils -- a suite of utilities for electronic mail
+# Copyright (C) 2009-2024 Free Software Foundation, Inc.
+#
+# GNU Mailutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Mailutils 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
+
+import sys
+from mailutils import url
+from mailutils.error import *
+
+def parse (str):
+ try:
+ u = url.Url (str)
+ print("URL: %s" % u)
+
+ print("\tscheme <%s>" % u.get_scheme ())
+ print("\tuser <%s>" % u.get_user ())
+
+ sec = u.get_secret ()
+ if sec:
+ print("\tpasswd <%s>" % sec.password ())
+ sec.password_unref ()
+
+ print("\tauth <%s>" % u.get_auth ())
+ print("\thost <%s>" % u.get_host ())
+ print("\tport %d" % u.get_port ())
+ print("\tpath <%s>" % u.get_path ())
+
+ for i, param in enumerate (u.get_query ()):
+ print("\tquery[%d] %s" % (i, param))
+
+ except UrlError as e:
+ print(e)
+
+def parseinput ():
+ try:
+ while True:
+ line = sys.stdin.readline ().strip ()
+ if line == '':
+ break
+ parse (line)
+ except KeyboardInterrupt:
+ sys.exit ()
+
+if __name__ == '__main__':
+ if len (sys.argv) == 1:
+ parseinput ()
+ sys.exit ()
+
+ for arg in sys.argv[1:]:
+ if arg == '-':
+ parseinput ()
+ else:
+ parse (arg)

Return to:

Send suggestions and report system problems to the System administrator.