Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds another subcommand layer share list. #39

Merged
merged 2 commits into from
Jul 30, 2016

Conversation

bonafidehan
Copy link
Contributor

Usage: share list link and share list folder. Manually tested.

@grantseltzer
Copy link
Contributor

grantseltzer commented Jul 30, 2016

Hi @bonafidehan

FWIW this looks good to me, I think layering it out, even if link and folder are the only two options anyway, is better design for future feature additions. 👍

My one comment is that it may be good to use the 'golumns' library I wrote for use in the ls command. It was made with the idea in mind that it would be general approach for output in dbxcli [1] I'm going to be actively working on it too!

Here's a couple rough code snippets that you can use if you and @diwakergupta like this idea:
(You can also look in ls.go)

For folders:

func printFolders(entries []*sharing.SharedFolderMetadata) {
    var listOfFolders []string
    for _, f := range entries {
        listOfFolders = append(listOfFolders, f.PathLower+"\t"+f.PreviewUrl)
    }
    golumns.Display(listOfFolders)
}

For links:

func printLinks(links []sharing.IsSharedLinkMetadata) {
    var listOfSharedLinkMetaData []sharing.SharedLinkMetadata
    for _, l := range links {
        switch sl := l.(type) {
        case *sharing.FileLinkMetadata:
            listOfSharedLinkMetaData = append(listOfSharedLinkMetaData, sl.SharedLinkMetadata)
        case *sharing.FolderLinkMetadata:
            listOfSharedLinkMetaData = append(listOfSharedLinkMetaData, sl.SharedLinkMetadata)
        default:
            fmt.Printf("found unknown shared link type")
        }
    }
    var metadataStrings []string
    for _, i := range listOfSharedLinkMetaData {
        metadataStrings = append(metadataStrings, i.Name+"\t"+i.Url)
    }

    if len(metadataStrings) == 0 {
        metadataStrings = append(metadataStrings, "")
    }
    golumns.Display(metadataStrings)
}

[1] #27 (comment)

@diwakergupta
Copy link
Collaborator

+1 for using golumns where applicable!

@diwakergupta
Copy link
Collaborator

We can incorporate golumn in a future commit.

@diwakergupta diwakergupta merged commit 3985a8b into dropbox:master Jul 30, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants