fix parsing

pull/6/head
dvkt 5 years ago
parent 62f6607639
commit fbf0cf3064

@ -90,7 +90,7 @@ pub fn parse_url<'a>(url: &'a str) -> (Type, &'a str, &'a str, &'a str) {
};
let mut chars = sel.chars();
if let (Some(fst), Some('/')) = (chars.nth(0), chars.nth(1)) {
if let (Some(fst), Some('/')) = (chars.nth(0), chars.nth(0)) {
match fst {
'0' => typ = Type::Text,
'1' => typ = Type::Menu,

@ -14,21 +14,19 @@ fn main() {
print_usage();
return;
}
let host = args.get(1).unwrap();
let port = "70".to_string();
let port = args.get(2).unwrap_or(&port);
let selector = "/".to_string();
let selector = args.get(3).unwrap_or(&selector);
if host == "--version" || host == "-v" || host == "-version" {
let url = args.get(1).unwrap();
if url == "--version" || url == "-v" || url == "-version" {
print_version();
return;
}
if host == "--help" || host == "-h" || host == "-help" {
if url == "--help" || url == "-h" || url == "-help" {
print_usage();
return;
}
let mut ui = ui::UI::new();
let url = format!("{}:{}{}", host, port, selector); // TODO: url on cmdline
ui.load(url);
ui.run();
}

@ -65,8 +65,8 @@ impl UI {
String::from("N/A")
}
pub fn load(&mut self, url: String) {
let (typ, host, port, sel) = gopher::parse_url(&url);
pub fn load(&mut self, url: &str) {
let (typ, host, port, sel) = gopher::parse_url(url);
let response = gopher::fetch(host, port, sel)
.map_err(|e| {
eprintln!("\x1B[91merror loading \x1b[93m{}: \x1B[0m{}", url, e);
@ -75,7 +75,7 @@ impl UI {
.unwrap();
match typ {
Type::Menu => self.add_view(MenuView::from(url, response)),
Type::Menu => self.add_view(MenuView::from(url.to_string(), response)),
// Type::Text => self.add_view(TextView::from(url, response)),
_ => panic!("unknown type: {:?}", typ),
}

Loading…
Cancel
Save