org.das2.util.filesystem.GitHubFileSystem
GitHubFileSystem allows GitHub directories to be mounted directly, even
though it is not a conventional filesystem with files residing in folders.
For example, the file resource README.md found in
https://github.com/autoplot/scripts/ is downloaded from
https://github.com/autoplot/scripts/blob/master/README.md,
with "blob/master/" added to the URL. Likewise directory "demos" is found
under "tree/master/".
GitHub also introduced a new problem, where dates cannot be used for
evaluating file freshness. ETags are now supported in WebFileSystem to
provide this functionality.
Note, there's a strange interaction with Java and GitHub.com, where Java's
caching prevents updates from appearing automatically. See
https://sourceforge.net/p/autoplot/bugs/2203/ .
createGitHubFileSystem
createGitHubFileSystem( java.net.URI root ) → GitHubFileSystem
create GitLabs instance
Parameters
root - the root
Returns:
the filesystem.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
createGitHubFileSystem( java.net.URI root, int baseOffset ) → GitHubFileSystem
getLocalRoot
getLocalRoot( java.net.URI root ) → File
return the location within the file cache of this GitHub filesystem.
TODO: There's something with branches that still needs work. Also the constructor
does not use this.
Parameters
root - an URI
Returns:
the directory containing the resource.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getURI
getURI( String filename ) → URI
Parameters
filename - a String
Returns:
java.net.URI
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getURL
getURL( String filename ) → URL
return the URL for the internal filename
Parameters
filename - internal filename
Returns:
a java.net.URL
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
gitHubMapDir
gitHubMapDir( java.net.URI root, String filename ) → URL
github puts directories for each project under "tree/master".
Parameters
root - an URI
filename - a String
Returns:
a java.net.URL
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
gitHubMapFile
gitHubMapFile( java.net.URI root, String filename ) → URL
Given the URI, convert this to the link which will download the file.
github puts directories for each project under "raw/master".
Parameters
root - an URI
filename - a String
Returns:
Translate:%{code
https://abbith.physics.uiowa.edu/jbf/myawesomepublicproject/blob/24dff04b9bcb275d8bfd85b38e0e8b039b21d655/sayAwesome.jy to
https://abbith.physics.uiowa.edu/jbf/myawesomepublicproject/raw/24dff04b9bcb275d8bfd85b38e0e8b039b21d655/sayAwesome.jy
https://github.com/autoplot/app/raw/master/Autoplot/src/resources/badge_ok.png to
https://github.com/autoplot/app/master/Autoplot/src/resources/badge_ok.png
https://jfaden.net/git/jbfaden/public/blob/master/u/jeremy/2019/20191023/updates.jy
https://research-git.uiowa.edu/space-physics/juno/ap-script/master/test/testap.jy to
https://research-git.uiowa.edu/space-physics/juno/ap-script/-/raw/master/test/testap.jy
https://research-git.uiowa.edu/jbf/testproject/-/blob/master/script/testScript.jy to
https://research-git.uiowa.edu/jbf/testproject/master/script/testScript.jy
}
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isGithubFileSystem
isGithubFileSystem( String h, String path ) → String
one place that lists the GitHub (GitLab) filesystems.
Parameters
h - the host
path - path to the top of the GitLabs instance.
Returns:
null if it is not a GitHub filesystem, or the initial path otherwise
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
listDirectory
listDirectory( String directory ) → String
Parameters
directory - a String
Returns:
java.lang.String[]
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
strjoin
strjoin( java.lang.String[] c, String delim, int start, int end ) → String
this will be replaced in Java 8.
Parameters
c - a java.lang.String[]
delim - a String
start - positive index, or negative from end.
end - positive index, or negative from end.
Returns:
a String
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
toString
toString( ) → String
Returns:
java.lang.String
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]