public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon TURNEY <jon.turney@dronecode.org.uk>
To: cygwin-apps@cygwin.com
Cc: Jon TURNEY <jon.turney@dronecode.org.uk>
Subject: [PATCH setup 3/3] Add the last element of URL path to site chooser, if interesting.
Date: Mon, 21 Apr 2014 11:16:00 -0000	[thread overview]
Message-ID: <1398078987-5116-4-git-send-email-jon.turney@dronecode.org.uk> (raw)
In-Reply-To: <1398078987-5116-1-git-send-email-jon.turney@dronecode.org.uk>

If I add the site http://mirrors.kernel.org/sources.redhat.com/cygwinports/ to
setup's mirror list, using the GUI or --site option, I get two indistinguishable
entries named http://mirrors.kernel.org in the mirror list box.

So, to make the site chooser list entries more distinguishable, add the last
element of the URL path to the site chooser, if it exists and isn't 'cygwin' (or
some other alternatives used by current mirrors)

As Corinna pointed out in Nov 2010, there is still a corner case of URLs which
share protocol, hostname and the last element of the URL path being
indistinguishable.  Additionally, it will need updating for any new mirrors which
don't use one of the expected strings for the last path element in the URL.

2014-04-19  Jon TURNEY  <jon.turney@dronecode.org.uk>

	* site.cc (init): If interesting, show the last element
	of URL, as well as the protocol and sitename in the site chooser.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
---
 site.cc | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/site.cc b/site.cc
index 48ec0aa..70f6303 100644
--- a/site.cc
+++ b/site.cc
@@ -173,6 +173,27 @@ site_list_type::init (const string &_url, const string &_servername,
       idx = 0;
   } while (idx > 0);
   key += url;
+
+  /* add last element of url if it exists, and isn't "cygwin" to displayed_url */
+  if (path_offset+1 < url.length())
+    {
+      string url_path = url.substr(path_offset+1);
+
+      /* trim any trailing / */
+      if (url_path.at(url_path.length()-1) == '/')
+        url_path.erase(url_path.length()-1);
+
+      /* add the last path element, if it exists, and isn't "cygwin"
+         (or some aliases used by existing sites) */
+      string::size_type pos = url_path.rfind('/');
+      string lpe = url_path.substr(pos+1);
+      if ((pos != string::npos) && (lpe.compare("cygwin") != 0) &&
+          (lpe.compare("cygwin.com") != 0) && (lpe.compare("cygwin32") != 0) &&
+          (lpe.compare("gnu-win32") != 0))
+        {
+          displayed_url.append(" (" + lpe +  ")");
+        }
+    }
 }
 
 site_list_type::site_list_type (const string &_url,
-- 
1.8.5.5

  parent reply	other threads:[~2014-04-21 11:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-21 11:16 [PATCH setup 0/3] Setup download site list fixes Jon TURNEY
2014-04-21 11:16 ` [PATCH setup 1/3] Fix selecting sites added to the download site list box Jon TURNEY
2014-04-21 11:16 ` [PATCH setup 2/3] Correctly make displayed_url for non-FQDNs Jon TURNEY
2014-04-21 11:16 ` Jon TURNEY [this message]
2014-04-21 14:10   ` [PATCH setup 3/3] Add the last element of URL path to site chooser, if interesting Christopher Faylor
2014-04-21 18:12     ` Jon TURNEY
2014-04-22  7:53       ` Corinna Vinschen
2014-04-22 14:47         ` Christopher Faylor
2014-04-22 17:50           ` Jon TURNEY

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1398078987-5116-4-git-send-email-jon.turney@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).