Hello,

On Thu, 9 May 2019 at 00:26, Eric Drechsel <[email protected]> wrote:
>
> Hi Dave,
>
> On Wed, May 8, 2019 at 1:56 PM dx25 <[email protected]> wrote:
>>
>> I finally got around to looking at this video server idea again -- as 
>> Mathieu suggested, I created a folder in web UI and moved all video files to 
>> the folder.  Now when pk-mounted, the new folder is not visible in "roots" 
>> unless I manually set the camliRoot attribute to it, and none of the videos 
>> are visible within unless I set, say, a camliPath:filename.mp4 attribute on 
>> the folder permanode.  Mathieu, you mentioned adding a custom handler.  As I 
>> look through the source, I see a number of other blobservers, but I have no 
>> clue how to use them or what they are for.  I'm assuming that was how were 
>> suggesting I deal with this camliRoot/camliPath problem?
>>
>> The other idea I had was an approach similar to how <pkmount>/recent folder 
>> is working.  Within that folder, I can see filenames for some recently added 
>> stuff, apparently without the need for these redundant camliPath: attributes 
>> (since the fileName is stored with the blob content for the videos).  Was 
>> curious to see how this actually populates the /recent folder, but was 
>> unable to locate the implementation.

As Eric said, if you want to see how the magic of pk mount works, it's
all in pkg/fs. But honestly if you want things to show up as files in
pk mount, I maintain that it's probably easier to do a bit of glueing
and scripting on top of things, to add the relevant camliRoots and
camliPaths to your permanodes, than to hack a new "magic directory" in
pkg/fs. Dealing with fuse stuff isn't easy imho.

> Mathieu, you mentioned adding a custom handler.  As I look through the 
> source, I see a number of other blobservers, but I have no clue how to use 
> them or what they are for.  I'm assuming that was how were suggesting I deal 
> with this camliRoot/camliPath problem?

The other idea I had mentioned earlier is also harder than the very
first option, but probably not as hard as inventing new things in
pkg/fs. But it still requires you to understand what typically happens
to a blob when Perkeep receives it, with regard to how the conditional
blobserver only passes it to the indexer if it is a schema blob, then
how the indexer treats it depending on what kind of mutation it is,
etc. My very rough idea was that you could add your own custom piece
in the middle that does the job of creating the camliPaths and
camliRoots somewhere along the line, when e.g. the indexer sees it is
a video file. But again, that is pretty involved too, and wouldn't be
a very adaptable/reusable mechanism, so all in all, probably not a
very good idea.

> The mapping of nodes to filenames happens starting at 
> https://github.com/perkeep/perkeep/blob/7f17c0483f2e86575ed87aac35fb75154b16b7f4/pkg/fs/recent.go#L104
>
>> Any idea where I should look for it?  As I was saying in my original post, 
>> it seems like what I'd really want here is to write my own alternative 
>> implementation of /recent (called, e.g. /videos), that makes all uploaded 
>> videos available.  I was able to successfully add a "is:video" search 
>> parameter that uses the mime type prefix, but that's as far as I've gotten.
>>
>> So, any ideas on what direction to go next?
>>
> fs.RecentDir is a good template for a search-backed directory. It seems like 
> it might be appropriate to make RecentDir just an instance of a fs.SearchDir 
> type. RecentDir doesn't have any tests but SearchDir should.
>
> I'd want to see a new "/search" node that implements Lookup() to take a 
> filename-escaped search string and return a new SearchDir node similar to how 
> fs.root implements hash-based permanode lookup 
> here:https://github.com/perkeep/perkeep/blob/7f17c0483f2e86575ed87aac35fb75154b16b7f4/pkg/fs/root.go#L136)
>  since that would provide users with a way to perform searches through the 
> filesystem.
>
> I've also considered adding support for persisting searches as permanodes, 
> which would behave as directories. This would require changes in a few 
> modules but would take perkeep in the direction of end-user programming which 
> I think makes a lot of sense for single-tenant self-hosted applications 
> (tiddlywiki for example).
>
>>
>>
>
>>
>>
>> On Thursday, December 20, 2018 at 9:11:21 AM UTC-6, mathieu.lonjaret wrote:
>>>
>>> It does not necessarily have to be manual though. The simplest (but
>>> least efficient) way I can imagine to automatize it would be to make a
>>> program monitoring new things being added to your Perkeep (a camtool
>>> search call for recent items, being run regularly, for example), and
>>> when detecting when one of these new items is a video, it would add it
>>> to the mounted camliRoot.
>>> You could also add a custom handler which does that within Perkeep. In
>>> the same way the cond blobserver (pkg/blobserver/cond) is used to add
>>> a blob to the index only if it is a schema blob. But that is a bit
>>> more involved than the above.
>>>
>>> On Thu, 20 Dec 2018 at 15:55, dx25 <[email protected]> wrote:
>>> >
>>> > Sorry, that was worded poorly.  My hope was to avoid creating a folder, 
>>> > and then every time phone uploads something, manually adding that to the 
>>> > folder.  Sounds like for now that's the way to do it though.
>>> >
>>> >
>>> >
>>> > On Wednesday, December 19, 2018 at 6:26:57 PM UTC-6, mathieu.lonjaret 
>>> > wrote:
>>> >>
>>> >> On Thu, 20 Dec 2018 at 00:51, dx25 <[email protected]> wrote:
>>> >> >
>>> >> > Hi,
>>> >>
>>> >> Hello,
>>> >>
>>> >> > I have been using the android app on Perkeep to upload photos and 
>>> >> > videos from my phone to a perkeepd instance I run locally.  I'm also 
>>> >> > running Plex Media Server on that same machine, and would like it to 
>>> >> > serve up the videos I've added to Perkeep.  My first thought was to 
>>> >> > run pk-mount as a service, pointing Plex there, and hopefully 
>>> >> > everything would just work.
>>> >>
>>> >> Yes, in theory that should work.
>>> >>
>>> >> > However, I can't figure out how to access content uploaded from the 
>>> >> > phone via pk-mount.
>>> >>
>>> >> Have you seen https://perkeep.org/cmd/pk-mount/ ?
>>> >> What step are you blocked at exactly?
>>> >>
>>> >> > Ideally I would create a search that finds all videos (e.g. 
>>> >> > "format:mp4", although this appears not to be supported now), and then 
>>> >> > be able to mount that search directly in pk-mount.  Is something like 
>>> >> > this possible?
>>> >>
>>> >> No, I don't think you can do that kind of thing for now. You can only
>>> >> control whether you want to only mount a subset via the second
>>> >> argument of pk-mount. So what you can actually do pretty easily, is to
>>> >> gather (after you searched for them) all your videos under a common
>>> >> root. Then you mount that very root with pk-mount.
>>> >>
>>> >> hth,
>>> >> Mathieu
>>> >>
>>> >> > You received this message because you are subscribed to the Google 
>>> >> > Groups "Perkeep" group.
>>> >> > To unsubscribe from this group and stop receiving emails from it, send 
>>> >> > an email to [email protected].
>>> >> > For more options, visit https://groups.google.com/d/optout.
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google Groups 
>>> > "Perkeep" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send an 
>>> > email to [email protected].
>>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Perkeep" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/perkeep/1b38a8f6-d118-4951-9ae7-dbd87ffe1a07%40googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> best, Eric
> eric.pdxhub.org
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Perkeep" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/perkeep/CAGTxtWiNUbSG_m4mLYqHsPfinxaVqUGB29G2J%2Bjr5VZuYrUTYA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Perkeep" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/perkeep/CAHcDtn%3D79MQotG0GiWiwmA3Vac4vFRFcVXpREwh21EFMWyRd-Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to