Update of /var/cvs/speeltuin/andre/mmget/src/org/mmbase/mmget
In directory james.mmbase.org:/tmp/cvs-serv29991
Modified Files:
MMGet.java ResourceReWriter.java ResourceWriter.java
Log Message:
new strategy (for now): dropped the idea of saving 'relative', now saving
starting from serverroot,
thinking of relatively saving as a config/option
See also:
http://cvs.mmbase.org/viewcvs/speeltuin/andre/mmget/src/org/mmbase/mmget
Index: MMGet.java
===================================================================
RCS file: /var/cvs/speeltuin/andre/mmget/src/org/mmbase/mmget/MMGet.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- MMGet.java 11 Mar 2009 16:11:51 -0000 1.7
+++ MMGet.java 12 Mar 2009 10:30:38 -0000 1.8
@@ -25,7 +25,7 @@
* TODO: init rootURL early on, and check all urls against it (so we don't
travel up the rootURL)
*
* @author André van Toly
- * @version $Id: MMGet.java,v 1.7 2009/03/11 16:11:51 andre Exp $
+ * @version $Id: MMGet.java,v 1.8 2009/03/12 10:30:38 andre Exp $
*/
public final class MMGet {
@@ -39,6 +39,7 @@
});
/* link to start exporting from and directory of the start url */
public static String url;
+ public static String serverpart;
protected static URL startURL;
protected static URL startdirURL;
@@ -85,6 +86,10 @@
ResourceLoader webroot = ResourceLoader.getWebRoot();
startURL = new URL(url);
+ serverpart = url;
+ if (url.lastIndexOf("/") > 7) {
+ serverpart = url.substring(0, url.indexOf("/", 7));
+ }
// savedir
if (directory == null || "".equals(directory) ||
!webroot.getResource(directory).openConnection().getDoInput()) {
@@ -305,13 +310,13 @@
if (rw == null) continue;
}
- String calclink = startdirURL.toString() + filename; //
'calculated' link
+ String calclink = serverpart + "/" + filename; //
'calculated' link
String calcdir = dirURL.toString();
if (calcdir.endsWith("/")) calcdir = calcdir.substring(0,
calcdir.lastIndexOf("/"));
String relative = UriParser.makeRelative(calcdir, calclink);
- log.debug("relative: " + relative);
if (!"".equals(link) && !links2files.containsKey(link) &&
!link.equals(relative)) { // only when different
+ log.debug("link2files: " + link + " -> " + relative);
links2files.put(link, relative); /* /dir/css/bla.css +
../css/bla.css */
}
Index: ResourceReWriter.java
===================================================================
RCS file:
/var/cvs/speeltuin/andre/mmget/src/org/mmbase/mmget/ResourceReWriter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ResourceReWriter.java 11 Mar 2009 16:11:51 -0000 1.2
+++ ResourceReWriter.java 12 Mar 2009 10:30:38 -0000 1.3
@@ -12,7 +12,7 @@
* Typically to be used for html and css files.
*
* @author André van Toly
- * @version $Id: ResourceReWriter.java,v 1.2 2009/03/11 16:11:51 andre Exp $
+ * @version $Id: ResourceReWriter.java,v 1.3 2009/03/12 10:30:38 andre Exp $
*/
public class ResourceReWriter extends ResourceWriter {
private static final Logger log =
Logging.getLoggerInstance(ResourceReWriter.class);
@@ -28,7 +28,7 @@
*/
public ResourceReWriter(URL url) throws IOException {
super(url);
- log.debug("Trying to download... " + url.toString() + " to " +
filename);
+ //log.debug("Trying to download... " + url.toString() + " to " +
filename);
this.uc = super.uc;
this.url = getUrl();
@@ -51,7 +51,7 @@
* @param uc the already elsewhere created URLConnection for efficiency
*/
private void rewrite() throws IOException {
- log.debug("REwriting: " + url + ", filename: " + filename);
+ log.debug("REwriting: " + url + " -> file: " + filename);
File f = getFile(filename);
if (f.exists()) {
//log.warn("File '" + f.toString() + "' already exists, deleting
it and saving again.");
@@ -101,7 +101,7 @@
in.close();
out.close();
- log.debug("Saved: " + f.toString() );
+ log.debug("Saved: " + url + " -> file: " + f.toString() );
}
Index: ResourceWriter.java
===================================================================
RCS file:
/var/cvs/speeltuin/andre/mmget/src/org/mmbase/mmget/ResourceWriter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ResourceWriter.java 11 Mar 2009 16:11:51 -0000 1.2
+++ ResourceWriter.java 12 Mar 2009 10:30:38 -0000 1.3
@@ -13,7 +13,7 @@
* Writes a resource found on an url to disk.
*
* @author André van Toly
- * @version $Id: ResourceWriter.java,v 1.2 2009/03/11 16:11:51 andre Exp $
+ * @version $Id: ResourceWriter.java,v 1.3 2009/03/12 10:30:38 andre Exp $
*/
public class ResourceWriter {
private static final Logger log =
Logging.getLoggerInstance(ResourceWriter.class);
@@ -28,8 +28,6 @@
* @throws IOException When failed to write
*/
public ResourceWriter(URL u) throws IOException {
- log.debug("Trying to download .. " + u.toString());
-
try {
uc = (HttpURLConnection)getURLConnection(u);
} catch (IOException e) {
@@ -167,43 +165,13 @@
* @return path and filename that can be saved (f.e. pics/button.gif)
*/
public String makeFilename(URL url) {
- /*
- start: www.toly.nl/bla
- link: www.toly.nl/pics/button.gif
- filename: 1up/pics/buttons.gif
-
- start: www.toly.nl/bla/bla
- link: www.toly.nl/pics/button.gif
- filename: 2up/pics/buttons.gif
- */
- String filename = url.getFile();
- filename = MMGet.removeSessionid(filename);
-
String link = url.toString();
link = MMGet.removeSessionid(link);
- // path starting from startdirURL
- int startdirlength = MMGet.startdirURL.toString().length();
- if (link.length() > startdirlength) {
- filename = link.substring(startdirlength);
- }
-
- //log.debug("0: file: " + filename);
- if (contenttype == MMGet.CONTENTTYPE_HTML) {
- if (filename.equals("")) {
- filename = "index.html";
- } else if (!filename.endsWith("/") &&
!MMGet.hasExtension(filename)) {
- filename = filename + "/index.html";
- //log.debug("1: /bla file: " + filename);
- }
-
- if (filename.endsWith("/")) {
- filename = filename + "index.html";
- //log.debug("2: /bla/ file: " + filename);
- }
- }
+ String filename = link.substring(MMGet.serverpart.length());
+ if (filename.startsWith("/")) filename = filename.substring(1);
- log.debug("filename: " + filename);
+ log.debug("url: " + url.toString() + " -> file: " + filename);
return filename;
}
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs