func cmd_eggs_add(conn *scrapinghub.Connection, args []string, flags *PFlags) { if len(args) < 2 { log.Fatalf("Missing arguments: <project_id> and <egg_path>\n") } project_id := args[0] egg_path := args[1] name_version := args[2:] var egg_name string var egg_ver string if len(name_version) > 0 { name_ver_map := equality_list_to_map(name_version) egg_name = name_ver_map["name"] egg_ver = name_ver_map["version"] } else { result := re_egg_pattern.FindStringSubmatch(filepath.Base(egg_path)) if len(result) <= 0 { log.Fatalf("eggs-add error: Can't guess the name and version from egg path filename, provide it using name=<name> and version=<version> as parameters.\n") } egg_name = result[1] egg_ver = result[2] } if egg_name == "" || egg_ver == "" { log.Fatalf("Error: name and version are required\n") } var eggs scrapinghub.Eggs eggdata, err := eggs.Add(conn, project_id, egg_name, egg_ver, egg_path) if err != nil { log.Fatalf("eggs-add error: %s\n", err) } fmt.Printf("Egg uploaded successfully! Project: %s, Egg name: %s, version: %s\n", project_id, eggdata.Name, eggdata.Version) }