Pharocasts: Display Picasa photos

classic Classic list List threaded Threaded
10 messages Options
laurent laffont laurent laffont
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Pharocasts: Display Picasa photos

Learn:
- how to get data from an URL
- parse XML documents
- build a GUI to display photos with Polymorph
- how to prototype quickly with debugger and inspector


Cheers,

Laurent Laffont

http://pharocasts.blogspot.com/
http://magaloma.blogspot.com/

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
garduino garduino
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Pharo-project] Pharocasts: Display Picasa photos

Excellent!

2010/8/15 laurent laffont <[hidden email]>:

> Learn:
> - how to get data from an URL
> - parse XML documents
> - build a GUI to display photos with Polymorph
> - how to prototype quickly with debugger and inspector
> http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
> Cheers,
> Laurent Laffont
>
> http://pharocasts.blogspot.com/
> http://magaloma.blogspot.com/
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Stéphane Ducasse Stéphane Ducasse
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Pharo-project] Pharocasts: Display Picasa photos

+1

Stef
On Aug 16, 2010, at 12:14 AM, Germán Arduino wrote:

> Excellent!
>
> 2010/8/15 laurent laffont <[hidden email]>:
>> Learn:
>> - how to get data from an URL
>> - parse XML documents
>> - build a GUI to display photos with Polymorph
>> - how to prototype quickly with debugger and inspector
>> http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
>> Cheers,
>> Laurent Laffont
>>
>> http://pharocasts.blogspot.com/
>> http://magaloma.blogspot.com/
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Sven Van Caekenberghe Sven Van Caekenberghe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [SPAM] Pharocasts: Display Picasa photos

In reply to this post by laurent laffont
Hey Laurent,

Great, very instructive, good example, nice programming style!!

Sven

On 15 Aug 2010, at 23:00, laurent laffont wrote:

> Learn:
> - how to get data from an URL
> - parse XML documents
> - build a GUI to display photos with Polymorph
> - how to prototype quickly with debugger and inspector
>
> http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
>
> Cheers,
>
> Laurent Laffont
>
> http://pharocasts.blogspot.com/
> http://magaloma.blogspot.com/
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Igor Stasenko Igor Stasenko
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [SPAM] Pharocasts: Display Picasa photos

+1 Very nice hacking excercise!
This is the way how developers should work! :)
Almost all aspects of hacking is covered:
- code in debugger
- finding implementations
- inspecting and exploring objects & classes.

Good work.

On 16 August 2010 12:44, Sven Van Caekenberghe <[hidden email]> wrote:

> Hey Laurent,
>
> Great, very instructive, good example, nice programming style!!
>
> Sven
>
> On 15 Aug 2010, at 23:00, laurent laffont wrote:
>
>> Learn:
>> - how to get data from an URL
>> - parse XML documents
>> - build a GUI to display photos with Polymorph
>> - how to prototype quickly with debugger and inspector
>>
>> http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
>>
>> Cheers,
>>
>> Laurent Laffont
>>
>> http://pharocasts.blogspot.com/
>> http://magaloma.blogspot.com/
>> _______________________________________________
>> Pharo-users mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
laurent laffont laurent laffont
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [SPAM] Pharocasts: Display Picasa photos

Thank you all ! I've tried to make a "Why Pharo is different" screencast, I'm pleased that it seems to work :) 

If you have the courage to put these comments on pharocasts itself (even to say it's crap, just tell why), I will be very grateful ! (and it shows that the community is here)

Cheers,

Laurent 

On Mon, Aug 16, 2010 at 11:57 AM, Igor Stasenko <[hidden email]> wrote:
+1 Very nice hacking excercise!
This is the way how developers should work! :)
Almost all aspects of hacking is covered:
- code in debugger
- finding implementations
- inspecting and exploring objects & classes.

Good work.

On 16 August 2010 12:44, Sven Van Caekenberghe <[hidden email]> wrote:
> Hey Laurent,
>
> Great, very instructive, good example, nice programming style!!
>
> Sven
>
> On 15 Aug 2010, at 23:00, laurent laffont wrote:
>
>> Learn:
>> - how to get data from an URL
>> - parse XML documents
>> - build a GUI to display photos with Polymorph
>> - how to prototype quickly with debugger and inspector
>>
>> http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
>>
>> Cheers,
>>
>> Laurent Laffont
>>
>> http://pharocasts.blogspot.com/
>> http://magaloma.blogspot.com/
>> _______________________________________________
>> Pharo-users mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>
>
> _______________________________________________
> Pharo-users mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
laurent laffont laurent laffont
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Pharo-project] Pharocasts: Display Picasa photos

In reply to this post by garduino
Cool, it's on Pharocasts !

Laurent

On Mon, Aug 16, 2010 at 2:10 PM, Gary Chambers <[hidden email]> wrote:
Indeed, nice...

Here's an adaptation for Flickr...

| xmlStream xmlDoc photos builder clickBlock |
xmlStream := 'http://api.flickr.com/services/feeds/photos_public.gne?id=12018791@N06&lang=en-us&format=rss_200' asUrl retrieveContents contentStream.
xmlDoc := XMLDOMParser parseDocumentFrom: xmlStream.

photos := OrderedCollection new.
xmlDoc tagsNamed: #item do:
            [:item| | title thumbUrl photoUrl |
             title := (item firstTagNamed: #title) characterData.
             thumbUrl := ((item firstTagNamed: #media:thumbnail) attributeAt: #url) asUrl.
             photoUrl := ((item firstTagNamed: #media:content) attributeAt: #url) asUrl.
             photos add: title -> (Form fromBinaryStream: thumbUrl retrieveContents contentStream) -> photoUrl].

clickBlock := [:url :title | | scrollPane |
scrollPane := GeneralScrollPane new
 scrollTarget: (builder
 newImage: (Form fromBinaryStream: url retrieveContents contentStream)).
scrollPane openInWindow
 setLabel: title;
 extent: 600@400.
scrollPane color: Color transparent].

builder := UITheme builder.
((builder
  newRow: (photos collect:
                   [:aPhoto|
                    (builder
   newButtonFor: clickBlock
   getState: nil
   action: #value:value:
   arguments: {aPhoto value. aPhoto key key}
   getEnabled: nil
   label: ((builder newColumn: {
     builder newImage: aPhoto key value.
     builder newLabel: aPhoto key key})
     cellPositioning: #center;
     layoutInset: 10)
   help: nil)]))
wrapDirection: #topToBottom;
openInWindow)
 setLabel: (xmlDoc firstTagNamed: #title) characterData;
 extent: 700@680.


Regards, Gary

----- Original Message ----- From: "Germán Arduino" <[hidden email]>
To: <[hidden email]>
Cc: "A friendly place where any question about pharo is welcome" <[hidden email]>
Sent: Sunday, August 15, 2010 11:14 PM
Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos



Excellent!

2010/8/15 laurent laffont <[hidden email]>:
Learn:
- how to get data from an URL
- parse XML documents
- build a GUI to display photos with Polymorph
- how to prototype quickly with debugger and inspector
http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
Cheers,
Laurent Laffont

http://pharocasts.blogspot.com/
http://magaloma.blogspot.com/

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Mariano Martinez Peck Mariano Martinez Peck
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Pharo-project] Pharocasts: Display Picasa photos

Hi. I wouldn't like to loose all this cool pieces of code. Even if they are not complete, they work as examples. It would be good to create a ss project like ExternalWebApplicationsCommunication or something like that where you post all this code, Gary's one, and I remember others from your posts or other emails....



2010/8/16 laurent laffont <[hidden email]>
Cool, it's on Pharocasts !

Laurent


On Mon, Aug 16, 2010 at 2:10 PM, Gary Chambers <[hidden email]> wrote:
Indeed, nice...

Here's an adaptation for Flickr...

| xmlStream xmlDoc photos builder clickBlock |
xmlStream := 'http://api.flickr.com/services/feeds/photos_public.gne?id=12018791@N06&lang=en-us&format=rss_200' asUrl retrieveContents contentStream.
xmlDoc := XMLDOMParser parseDocumentFrom: xmlStream.

photos := OrderedCollection new.
xmlDoc tagsNamed: #item do:
            [:item| | title thumbUrl photoUrl |
             title := (item firstTagNamed: #title) characterData.
             thumbUrl := ((item firstTagNamed: #media:thumbnail) attributeAt: #url) asUrl.
             photoUrl := ((item firstTagNamed: #media:content) attributeAt: #url) asUrl.
             photos add: title -> (Form fromBinaryStream: thumbUrl retrieveContents contentStream) -> photoUrl].

clickBlock := [:url :title | | scrollPane |
scrollPane := GeneralScrollPane new
 scrollTarget: (builder
 newImage: (Form fromBinaryStream: url retrieveContents contentStream)).
scrollPane openInWindow
 setLabel: title;
 extent: 600@400.
scrollPane color: Color transparent].

builder := UITheme builder.
((builder
  newRow: (photos collect:
                   [:aPhoto|
                    (builder
   newButtonFor: clickBlock
   getState: nil
   action: #value:value:
   arguments: {aPhoto value. aPhoto key key}
   getEnabled: nil
   label: ((builder newColumn: {
     builder newImage: aPhoto key value.
     builder newLabel: aPhoto key key})
     cellPositioning: #center;
     layoutInset: 10)
   help: nil)]))
wrapDirection: #topToBottom;
openInWindow)
 setLabel: (xmlDoc firstTagNamed: #title) characterData;
 extent: 700@680.


Regards, Gary

----- Original Message ----- From: "Germán Arduino" <[hidden email]>
To: <[hidden email]>
Cc: "A friendly place where any question about pharo is welcome" <[hidden email]>
Sent: Sunday, August 15, 2010 11:14 PM
Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos



Excellent!

2010/8/15 laurent laffont <[hidden email]>:
Learn:
- how to get data from an URL
- parse XML documents
- build a GUI to display photos with Polymorph
- how to prototype quickly with debugger and inspector
http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
Cheers,
Laurent Laffont

http://pharocasts.blogspot.com/
http://magaloma.blogspot.com/

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
laurent laffont laurent laffont
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Pharo-project] Pharocasts: Display Picasa photos

HelpSystem may be more appropriate ?

Laurent

2010/8/16 Mariano Martinez Peck <[hidden email]>
Hi. I wouldn't like to loose all this cool pieces of code. Even if they are not complete, they work as examples. It would be good to create a ss project like ExternalWebApplicationsCommunication or something like that where you post all this code, Gary's one, and I remember others from your posts or other emails....



2010/8/16 laurent laffont <[hidden email]>

Cool, it's on Pharocasts !

Laurent


On Mon, Aug 16, 2010 at 2:10 PM, Gary Chambers <[hidden email]> wrote:
Indeed, nice...

Here's an adaptation for Flickr...

| xmlStream xmlDoc photos builder clickBlock |
xmlStream := 'http://api.flickr.com/services/feeds/photos_public.gne?id=12018791@N06&lang=en-us&format=rss_200' asUrl retrieveContents contentStream.
xmlDoc := XMLDOMParser parseDocumentFrom: xmlStream.

photos := OrderedCollection new.
xmlDoc tagsNamed: #item do:
            [:item| | title thumbUrl photoUrl |
             title := (item firstTagNamed: #title) characterData.
             thumbUrl := ((item firstTagNamed: #media:thumbnail) attributeAt: #url) asUrl.
             photoUrl := ((item firstTagNamed: #media:content) attributeAt: #url) asUrl.
             photos add: title -> (Form fromBinaryStream: thumbUrl retrieveContents contentStream) -> photoUrl].

clickBlock := [:url :title | | scrollPane |
scrollPane := GeneralScrollPane new
 scrollTarget: (builder
 newImage: (Form fromBinaryStream: url retrieveContents contentStream)).
scrollPane openInWindow
 setLabel: title;
 extent: 600@400.
scrollPane color: Color transparent].

builder := UITheme builder.
((builder
  newRow: (photos collect:
                   [:aPhoto|
                    (builder
   newButtonFor: clickBlock
   getState: nil
   action: #value:value:
   arguments: {aPhoto value. aPhoto key key}
   getEnabled: nil
   label: ((builder newColumn: {
     builder newImage: aPhoto key value.
     builder newLabel: aPhoto key key})
     cellPositioning: #center;
     layoutInset: 10)
   help: nil)]))
wrapDirection: #topToBottom;
openInWindow)
 setLabel: (xmlDoc firstTagNamed: #title) characterData;
 extent: 700@680.


Regards, Gary

----- Original Message ----- From: "Germán Arduino" <[hidden email]>
To: <[hidden email]>
Cc: "A friendly place where any question about pharo is welcome" <[hidden email]>
Sent: Sunday, August 15, 2010 11:14 PM
Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos



Excellent!

2010/8/15 laurent laffont <[hidden email]>:
Learn:
- how to get data from an URL
- parse XML documents
- build a GUI to display photos with Polymorph
- how to prototype quickly with debugger and inspector
http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
Cheers,
Laurent Laffont

http://pharocasts.blogspot.com/
http://magaloma.blogspot.com/

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Stéphane Ducasse Stéphane Ducasse
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Pharo-project] Pharocasts: Display Picasa photos

I think that a chapter on fun scripting the web with pharo would be better than an help.


Stef

On Aug 16, 2010, at 3:14 PM, laurent laffont wrote:

> HelpSystem may be more appropriate ?
>
> Laurent
>
> 2010/8/16 Mariano Martinez Peck <[hidden email]>
> Hi. I wouldn't like to loose all this cool pieces of code. Even if they are not complete, they work as examples. It would be good to create a ss project like ExternalWebApplicationsCommunication or something like that where you post all this code, Gary's one, and I remember others from your posts or other emails....
>
>
>
> 2010/8/16 laurent laffont <[hidden email]>
>
> Cool, it's on Pharocasts !
>
> Laurent
>
>
> On Mon, Aug 16, 2010 at 2:10 PM, Gary Chambers <[hidden email]> wrote:
> Indeed, nice...
>
> Here's an adaptation for Flickr...
>
> | xmlStream xmlDoc photos builder clickBlock |
> xmlStream := 'http://api.flickr.com/services/feeds/photos_public.gne?id=12018791@N06&lang=en-us&format=rss_200' asUrl retrieveContents contentStream.
> xmlDoc := XMLDOMParser parseDocumentFrom: xmlStream.
>
> photos := OrderedCollection new.
> xmlDoc tagsNamed: #item do:
>             [:item| | title thumbUrl photoUrl |
>              title := (item firstTagNamed: #title) characterData.
>              thumbUrl := ((item firstTagNamed: #media:thumbnail) attributeAt: #url) asUrl.
>              photoUrl := ((item firstTagNamed: #media:content) attributeAt: #url) asUrl.
>              photos add: title -> (Form fromBinaryStream: thumbUrl retrieveContents contentStream) -> photoUrl].
>
> clickBlock := [:url :title | | scrollPane |
> scrollPane := GeneralScrollPane new
>  scrollTarget: (builder
>  newImage: (Form fromBinaryStream: url retrieveContents contentStream)).
> scrollPane openInWindow
>  setLabel: title;
>  extent: 600@400.
> scrollPane color: Color transparent].
>
> builder := UITheme builder.
> ((builder
>   newRow: (photos collect:
>                    [:aPhoto|
>                     (builder
>    newButtonFor: clickBlock
>    getState: nil
>    action: #value:value:
>    arguments: {aPhoto value. aPhoto key key}
>    getEnabled: nil
>    label: ((builder newColumn: {
>      builder newImage: aPhoto key value.
>      builder newLabel: aPhoto key key})
>      cellPositioning: #center;
>      layoutInset: 10)
>    help: nil)]))
> wrapDirection: #topToBottom;
> openInWindow)
>  setLabel: (xmlDoc firstTagNamed: #title) characterData;
>  extent: 700@680.
>
>
> Regards, Gary
>
> ----- Original Message ----- From: "Germán Arduino" <[hidden email]>
> To: <[hidden email]>
> Cc: "A friendly place where any question about pharo is welcome" <[hidden email]>
> Sent: Sunday, August 15, 2010 11:14 PM
> Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos
>
>
>
> Excellent!
>
> 2010/8/15 laurent laffont <[hidden email]>:
> Learn:
> - how to get data from an URL
> - parse XML documents
> - build a GUI to display photos with Polymorph
> - how to prototype quickly with debugger and inspector
> http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
> Cheers,
> Laurent Laffont
>
> http://pharocasts.blogspot.com/
> http://magaloma.blogspot.com/
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project 
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
Loading...