package com.mindprod.htmlmacros;
import java.io.File;
import java.io.IOException;
public class FilePlus
{
private static final boolean DEBUG = true;
private static String websiteHost = "mindprod.com";
private static String mirror = "E:\\mindprod";
public static void setWebSiteHost( String websiteHost )
{
Tools.websiteHost = websiteHost;
}
// where the website in mirrored locally. This is the master copy.
public static void setmirror( String mirror )
{
Tools.mirror = mirror;
}
public static String getImagesDir( File fileBeingProcessed )
{
return getLevelString( fileBeingProcessed ) + "images";
}
public static String getBookcoversDir( File fileBeingProcessed )
{
return getLevelString( fileBeingProcessed ) + "bookcovers";
}
public static String getCanonicalNameLocally ( File fileBeingProcessed )
{
try
{
return fileBeingProcessed.getCanonicalPath();
}
catch ( IOException e )
{
return fileBeingProcessed.getAbsolutePath();
}
}
public static String getCanonicalNameOnWeb ( File fileBeingProcessed )
{
// chop of the lead E:/mindprod and prepend http://mindprod.com
return "http://"
+ websiteHost
+ "/"
+ getNameRelativeToMirror( fileBeingProcessed );
}
/**
* result with / in names
*/
public static String getNameRelativeToMirror( File fileBeingProcessed )
{
return getCanonicalNameLocally( fileBeingProcessed ).substring( mirror.length()+1 ).replace( '\\', '/' );
}
/**
*
*
*/
public static String getBasicNameWithExtension ( File fileBeingProcessed )
{
return fileBeingProcessed.getName();
}
/**
*
*
*/
public static String getBasicNameWithoutExtension ( File fileBeingProcessed )
{
String name = fileBeingProcessed.getName();
int place = name.lastIndexOf( '.' );
if ( place < 0 )
{
return name;
}
else
{
return name.substring ( 0, place );
}
}
/**
*
*
*/
public static String getExtension ( File fileBeingProcessed )
{
String name = fileBeingProcessed.getName();
int place = name.lastIndexOf( '.' );
if ( place < 0 )
{
return "";
}
else
{
return name.substring ( place+1 );
}
}
public static int getLevel( File fileBeingProcessed )
{
String relative = getNameRelativeToMirror( fileBeingProcessed );
int depth = 0;
int length = relative.length();
for ( int i=0; i