[Sugar-devel] Accessing external media from within an activity (was: Re: Problem listing journal objects)

Tomeu Vizoso tomeu at sugarlabs.org
Thu Aug 27 05:30:21 EDT 2009


On Wed, Aug 26, 2009 at 17:09, Jim Simmons<nicestep at gmail.com> wrote:
> Eben,
>
> I have given some thought to how I would implement getting image files
> from removable media and I think I have a workable plan.  Before I
> describe it I'd like to confess that it is *not* true that .84 code
> will show objects on the root directory of a thumb drive.  It won't
> show *anything* on a thumb drive, as some of you have pointed out.
> .82 shows every file whether it is on a thumb drive or in the Journal.
>  It is shown as a flat list with no way to tell what came from where.

0.84 should display all files in the thumb drive in the same flat
view, if it doesn't is because there's a bug somewhere.

> What I think I might do is emulate this behavior in .84.  Python has
> an os.walk() function that will list out all the files within a
> subdirectory.  I was thinking that after I load the table with Journal
> objects I could do the os.walk() for the directory /media, which is
> where all the removable media seems to get mounted.  In my table model
> I would store the filename and a wrapper class for a Journal object.
> If there is an actual Journal object in there it would call the object
> to get a path to the image file in the Journal.  If not, it would
> simply get a real path to a file on a removable device.

This is very close to what should be happening in 0.84.

> I would not check for mounts, etc.  Instead, my Activity has a Refresh
> button which reloads everything.  The user would know when he needs to
> use it.
>
> I might put some sort of icon in the table rows so the user knows
> which entries are from the Journal and which are from thumb drives,
> etc.
>
> I suppose the ObjectChooser should be improved as much as possible,
> but I doubt I'll ever use it myself.  If you want to load only one
> file into an Activity you could just as easily restore the file from
> the Journal.  If you need to load more than one file having a modal
> dialog pop up each time just slows you down.

Agreed, multiple selections would help there I guess.

Regards,

Tomeu

> James Simmons
>
>
> On Wed, Aug 26, 2009 at 8:53 AM, Eben Eliason<eben at laptop.org> wrote:
>> On Wed, Aug 19, 2009 at 5:43 AM, Sascha
>> Silbe<sascha-ml-ui-sugar-devel at silbe.org> wrote:
>>> On Wed, Aug 19, 2009 at 08:41:28AM +0200, Tomeu Vizoso wrote:
>>>
>>>> The public API is the POSIX one, though I don't know how this will be
>>>> affected by future versions of Rainbow.
>>>
>>> I can't find anything regarding mount points in POSIX 2001. How do you
>>> expect Jims activity to discover them?
>>> Two ways come to my mind:
>>> a) parse /proc/mounts periodically
>>> Linux-only, time-wasting but future-proof
>>>
>>> b) use what the Journal is using internally, i.e. the Gnome way of the day
>>> cross-platform (as much as Gnome/Sugar are), event-driven, but likely to
>>> break on next release
>>>
>>> Just as a reminder: The intended workflow for Jims activity seems to be:
>>> 1. Start activity
>>> 2. Plug in USB stick with photos
>>> 3. Select and/or manage(?) photo from within the activity
>>>
>>> Answering "use POSIX" is like "use a computer", it doesn't help getting the
>>> job done. If the answer is "we want the user to copy the photos to the data
>>> store first", that doesn't get the job done either, but it's a policy and
>>> can be catered for (i.e. documented).
>>
>> The way I saw this working would be to extend the object chooser to
>> allow multiple sources, including external media. Where there is
>> currently a Journal icon in the chooser, we would also show any USB
>> sticks and SD cards present, and these would be selectable (with the
>> Journal the default, of course). Any activity could then invoke the
>> object chooser to select objects from the Journal or from external
>> media, without the overhead of building their own UI. Once the objects
>> are loaded into the activity, they can be bundled up and saved as
>> desired.
>>
>> We even have some preliminary design sketches for this feature:
>> http://wiki.sugarlabs.org/go/Design_Team/Designs/Object_Chooser#04
>>
>> Eben
>>
>>
>>> CU Sascha
>>>
>>> --
>>> http://sascha.silbe.org/
>>> http://www.infra-silbe.de/
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.9 (GNU/Linux)
>>>
>>> iQEcBAEBAgAGBQJKi8kiAAoJELpz82VMF3Da9+kH/iA64CVf2gkml2dmLezzWdPt
>>> HwDhOjpqh+eAs06i+we8UlqwRAgoEmqBMQ7eC16eqm4UrWhSKo6OeX0Rk1RdW8/o
>>> Lf1a7HsHpCjxWhudDOtxMcGUeLtb4ahGZR+0mYNiXG5I6DhJh6Diq+UAbGqRXZy7
>>> mo80yjbFDf6NTW2J7qI6mTvhNJl1pEOEpx+FF30Dg5BpUZ+b5ES03nL2WhDK4LUV
>>> O6FTEPFfsXSLvYFUTG2TA7Ggjz43RxeAnp2Vuc2Pu6YbNX21iT5OT+12hAWzyMDx
>>> QWqOSjEedKZZvT6bhXOWsBGPuff/XmOz83KESR4JsLXQp208BI+3zFBEmxBoYDQ=
>>> =Yl9z
>>> -----END PGP SIGNATURE-----
>>>
>>> _______________________________________________
>>> Sugar-devel mailing list
>>> Sugar-devel at lists.sugarlabs.org
>>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>>
>>>
>>
>



-- 
«Sugar Labs is anyone who participates in improving and using Sugar.
What Sugar Labs does is determined by the participants.» - David
Farning


More information about the Sugar-devel mailing list