diff core/src/luan/modules/IoLuan.java @ 693:ca169567ce07

module URIs must now include ".luan"
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 19 Apr 2016 15:54:11 -0600
parents cdc70de628b5
children d0280c7fdc3a
line wrap: on
line diff
--- a/core/src/luan/modules/IoLuan.java	Mon Apr 18 20:40:21 2016 -0600
+++ b/core/src/luan/modules/IoLuan.java	Tue Apr 19 15:54:11 2016 -0600
@@ -521,18 +521,14 @@
 		return new LuanString(s).table();
 	}
 
-	public static LuanTable file(LuanState luan,String name,Boolean addExtension) throws LuanException {
-		if( addExtension != null && addExtension )
-			name += ".luan";
+	public static LuanTable file(LuanState luan,String name) throws LuanException {
 		File file = new File(name);
 		return new LuanFile(file).table();
 	}
 
-	public static LuanTable classpath(LuanState luan,String name,Boolean addExtension) throws LuanException {
+	public static LuanTable classpath(LuanState luan,String name) throws LuanException {
 		if( name.contains("//") )
 			return null;
-		if( addExtension != null && addExtension )
-			name += ".luan";
 		String path = name;
 		check(luan,"classpath:"+path);
 		URL url;
@@ -561,26 +557,24 @@
 		return null;
 	}
 
-	private static LuanTable url(String url,Boolean addExtension) throws IOException {
-		if( addExtension != null && addExtension )
-			url += ".luan";
+	private static LuanTable url(String url) throws IOException {
 		return new LuanUrl(new URL(url)).table();
 	}
 
-	public static LuanTable http(String path,Boolean addExtension) throws IOException {
-		return url("http:"+path,addExtension);
+	public static LuanTable http(String path) throws IOException {
+		return url("http:"+path);
 	}
 
-	public static LuanTable https(String path,Boolean addExtension) throws IOException {
-		return url("https:"+path,addExtension);
+	public static LuanTable https(String path) throws IOException {
+		return url("https:"+path);
 	}
 
-	public static LuanTable luan(LuanState luan,String path,Boolean addExtension) throws LuanException {
-		return classpath( luan, "luan/modules/" + path, addExtension );
+	public static LuanTable luan(LuanState luan,String path) throws LuanException {
+		return classpath( luan, "luan/modules/" + path );
 	}
 
 	public static LuanTable stdin(LuanState luan) throws LuanException {
-		LuanTable io = (LuanTable)PackageLuan.require(luan,"luan:Io");
+		LuanTable io = (LuanTable)PackageLuan.require(luan,"luan:Io.luan");
 		return (LuanTable)io.get(luan,"stdin");
 	}
 
@@ -589,12 +583,12 @@
 		try {
 			schemes.rawPut( "null", new LuanJavaFunction(IoLuan.class.getMethod("null_"),null) );
 			add( schemes, "string", String.class );
-			add( schemes, "file", LuanState.class, String.class, Boolean.class );
-			add( schemes, "classpath", LuanState.class, String.class, Boolean.class );
+			add( schemes, "file", LuanState.class, String.class );
+			add( schemes, "classpath", LuanState.class, String.class );
 			add( schemes, "socket", String.class );
-			add( schemes, "http", String.class, Boolean.class );
-			add( schemes, "https", String.class, Boolean.class );
-			add( schemes, "luan", LuanState.class, String.class, Boolean.class );
+			add( schemes, "http", String.class );
+			add( schemes, "https", String.class );
+			add( schemes, "luan", LuanState.class, String.class );
 			add( schemes, "stdin", LuanState.class );
 		} catch(NoSuchMethodException e) {
 			throw new RuntimeException(e);
@@ -603,7 +597,7 @@
 	}
 
 	private static LuanTable schemes(LuanState luan) throws LuanException {
-		LuanTable t = (LuanTable)PackageLuan.loaded(luan).rawGet("luan:Io");
+		LuanTable t = (LuanTable)PackageLuan.loaded(luan).rawGet("luan:Io.luan");
 		if( t == null )
 			return newSchemes();
 		t = (LuanTable)t.get(luan,"schemes");
@@ -612,7 +606,7 @@
 		return t;
 	}
 
-	public static LuanTable uri(LuanState luan,String name,Boolean addExtension) throws LuanException {
+	public static LuanTable uri(LuanState luan,String name) throws LuanException {
 		int i = name.indexOf(':');
 		if( i == -1 )
 			throw new LuanException( "invalid Io.uri name '"+name+"', missing scheme" );
@@ -622,7 +616,7 @@
 		LuanFunction opener = (LuanFunction)schemes.get(luan,scheme);
 		if( opener == null )
 			throw new LuanException( "invalid scheme '"+scheme+"' in '"+name+"'" );
-		return (LuanTable)Luan.first(opener.call(luan,new Object[]{location,addExtension}));
+		return (LuanTable)Luan.first(opener.call(luan,new Object[]{location}));
 	}
 
 	public static final class LuanSocket extends LuanIO {