AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 64 |
r3wp | 940 |
total: | 1004 |
results window for this page: [start: 101 end: 200]
world-name: r3wp
Group: !AltME ... Discussion about AltME [web-public] | ||
Anton: 2-Feb-2005 | Some more ideas: write altme://user:[pass-:-Rebol3]/!AltME/ "message" Resolved of the first url here to the second url by the Rebol3 world (local distribution): altme://user:[pass-:-Rebol3]/!AltME/239 is resolved to: altme://user:[pass-:-Rebol3]/151/239 151 is the set-file number for the !AltME group, and 239 is the message id. read altme://user:[pass-:-Rebol3]/!AltME ;== [set-number 151 first-available-message 1 last-message 242] So it returns some group info, not the content of all the messages ! To get a message: read altme://user:[pass-:-Rebol3]/!AltME/239 ;== [(date) 9 (colour) [font [fg 0.0.0 bg 240.240.240]] "We are working towards that."] To find a user name by the set-number: read altme://user:[pass-:-Rebol3]/9 ;== ["Reichart" [reichart-:-safeworlds-:-com] (membership) (dates etc..)] | |
Ammon: 3-Mar-2005 | Sent feedback on the date selector. It doesn't like TODAY. Switch the value to any other day and try to select TODAY, you'll pull an error 100% of the time... | |
Group: RAMBO ... The REBOL bug and enhancement database [web-public] | ||
Anton: 26-Jan-2005 | >> site: http://www.dom.com/ == http://www.dom.com/ >> site/1.r ** Syntax Error: Invalid decimal -- 1.r ** Near: (line 1) site/1.r >> site/1-r ** Syntax Error: Invalid date -- 1-r ** Near: (line 1) site/1-r >> site/1-1-1r == http://www.dom.com/1-Jan-2001 >> site/1_r ** Syntax Error: Invalid integer -- 1_r ** Near: (line 1) site/1_r | |
Romano: 9-Feb-2005 | rebol[ Author: "Romano Paolo Tenca" Date: 10/02/2005 ] split-path-3: func [ "Splits a file or URL pos. Returns a block containing path and target." target [file! url!] /local dir pos ][ parse/all target [ [#"/" | 1 2 #"." opt #"/"] end (dir: dirize target) | pos: any [thru #"/" [end | pos:]] ( all [empty? dir: copy/part target at target index? pos dir: %./] all [find [%. %..] pos: to file! pos insert tail pos #"/"] ) ] reduce [dir pos] ] | |
Anton: 11-Feb-2005 | I just found a strange bug: >> read %rebol.r == { REBOL [ Title: "REBOL Extended Definitions" Date: cvs-date "$Date: 2001/04/29 16:00:17 $" Rights: "Copyright (C)... >> read %rebol.r. == { REBOL [ Title: "REBOL Extended Definitions" Date: cvs-date "$Date: 2001/04/29 16:00:17 $" Rights: "Copyright (C)... >> read %rebol.r..... == { REBOL [ Title: "REBOL Extended Definitions" Date: cvs-date "$Date: 2001/04/29 16:00:17 $" Rights: "Copyright (C)... | |
Anton: 11-Feb-2005 | I think so. Bad timezone found by QUERY (as used by INFO?). Replacement is to use GET-MODES file 'modification date. | |
Anton: 11-Feb-2005 | oops, that should be GET-MODES file 'modification-date, but Sunanda's answer is more relevant.. | |
Brett: 19-May-2005 | test-address-import: func [ {Returns true if pass, false if discrepency and none if failed with error.} limit [integer!] "Number of TO address to generate." /quiet "Does not display error." /local to-list eml sep msg obj ] [ to-list: copy {} sep: "" repeat i limit [ eml: to-email join "test-" [i "@test.com"] repend to-list [sep {"'} eml {'" <} eml {>}] if empty? sep [sep: {,^/ }] ] msg: replace copy {Date: Thu, 12 Feb 2004 11:41:49 +0100 From: test <[test-:-test-:-com]> MIME-Version: 1.0 To: TO_LIST Subject: [REBOL] test message - edited copy of real message Content-type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Sender: [rebol-bounce-:-rebol-:-com] Reply-to: [testing-:-testing-:-com] Status: Test message. } {TO_LIST} to-list either error? set/any 'result try [ obj: import-email msg limit = length? obj/to ][if not quiet [print mold disarm result] none][result] ] | |
Group: Core ... Discuss core issues [web-public] | ||
Graham: 21-Mar-2005 | >> port: open/binary %xml-object.r >> set-modes port [creation-date: 1-Dec-2004 ] ** Access Error: Cannot open /D/rebol/rebXR/xml-object.r ** Near: set-modes port [creation-date: 1-Dec-2004] | |
Sunanda: 21-Mar-2005 | What about set-modes %xml-object.r [creation-date: 1-Dec-2004 ] But may not work on windows -- not all modes are supported. | |
Graham: 22-Mar-2005 | Is it possible to set the modification date on a directory? I keep getting errors whereas it works with files in win32. >> set-modes %xml-parse.r [ modification-date: 1-Jan-2005 ] >> set-modes %www/ [ modification-date: 1-Jan-2005 ] ** Access Error: Cannot open /D/rebol/rebXR/www/ ** Near: set-modes %www/ [modification-date: 1-Jan-2005] >> set-modes %www [ modification-date: 1-Jan-2005 ] ** Access Error: Cannot open /D/rebol/rebXR/www ** Near: set-modes %www [modification-date: 1-Jan-2005] >> | |
[unknown: 5]: 23-Mar-2005 | Graham I did something similiar which allows me to write the date to another target just as it appears in the original - kinda like a backup. However, I need to modify it so that the target dates are stamped as they are originally. Currently it changes the stamp. | |
Volker: 23-Mar-2005 | http://vbnet.mvps.org/index.html?code/fileapi/folderdatetime.htm for visual basic, googled "windows change directory date api" | |
Raimund: 30-Mar-2005 | Hi, is it possible to restore the date of a file which was read via ftp? | |
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public] | ||
Sunanda: 25-Sep-2009 | Something new in the Library....If you own scripts, you can add images to them to make it all a bit more graphic. Only example to date here: http://www.rebol.org/view-script.r?script=ascii-chart.r Notes about how to add images to yoour scripts here: http://www.rebol.org/boiler.r?display=script-images Thanks to Maxim for the original change request. | |
Sunanda: 13-Jun-2010 | Full marks for persistance! Apologies -- the FAQ is out of date, especially Part 3 that tells you (wrongly!) how to contribute scripts. I'll update it in the next couple of days. Thanks for reporting the problem. | |
Group: View ... discuss view related issues [web-public] | ||
Graham: 8-Jan-2005 | >> date-data: [ 1-Jan-2005 2-Jan-2005 3-Jan-2005 1-Dec-2005 ] == [1-Jan-2005 2-Jan-2005 3-Jan-2005 1-Dec-2005] >> y-data: [ 1 2 3 4 ] == [1 2 3 4] view quick-plot [ 800x300 x-data [(date-data)] line [(y-data)] x-axis 6 ] which draws a very straight line. | |
Scott: 8-Jan-2005 | G: I don't recall q-plot as being date-smart. It just thinks you are feeding four data points. | |
Group: Parse ... Discussion of PARSE dialect [web-public] | ||
Graham: 20-Mar-2005 | I've got this rule to parse email headers which only works some of the time. header-rule: [ thru "^/Date:" copy m-date to newline | thru "^/From:" copy m-from to newline | thru "^/Subject:" copy m-subject to newline | thru "^/To:" copy m-to to newline | thru "^/Return-path: " ] m-subject: m-date: m-from: m-to: none parse header [some header-rule] | |
Vincent: 20-Mar-2005 | you should only go 'thru the common line start. try something like: header-rule: [ "Date:" copy ... to newline | "From:" copy ... to newline | ... ] parse header [some [thru "^/" header-rule] | |
Graham: 20-Mar-2005 | header-rule: [ thru "Date:" copy m-date to newline | thru "From:" copy m-from to newline | thru "Subject:" copy m-subject to newline | thru "To:" copy m-to to newline ] m-subject: m-date: m-from: m-to: none parse header [header-rule some [ thru "^/" header-rule]] | |
Tomc: 20-Mar-2005 | and if you had a header with a line that did not begin with 'Date, From, Subject or To then you could prematurely break out of header-rule before you got all your bits | |
Vincent: 20-Mar-2005 | header-rule: [ "Date:" copy m-date to newline | "From:" copy m-from to newline | "Subject:" copy m-subject to newline | "To:" copy m-to to newline | to newline ] m-subject: m-date: m-from: m-to: none parse header [header-rule some [ thru "^/" header-rule]] | |
Vincent: 20-Mar-2005 | else Date: ... X-Something: ... ; break the rule To: ... From: ... | |
Tomc: 20-Mar-2005 | in your example having a rule more like header-rule: [ "Date:" copy date-rule | "From:" copy email-rule | "Subject:" copy some alpha-num | "To:" copy email-rule | to newline ] where email-rule only matched email addresses would more taint like | |
Group: MySQL ... [web-public] | ||
Henrik: 23-Aug-2005 | I think you can do that. cronjobs are normal scripts that are carried out. they reside in a table of cronjobs which basically is a shell script with some time and date information added | |
Coccinelle: 12-Jan-2006 | For the lonlong conversion, the conversion model is initialized to none. It should be initialized to integer like this : conv-model: [ decimal [to decimal!] tiny [to integer!] short [to integer!] long [to integer!] float [to decimal!] double none null none timestamp none ; longlong none ; Removed longlong [to integer!] ; Added int24 [to integer!] date [to date!] time [to time!] datetime [to date!] year [to integer!] newdate none enum none set none tiny-blob none medium-blob none long-blob none blob none var-string none string none ] | |
Group: Linux ... [web-public] group for linux REBOL users | ||
Tomc: 1-Mar-2006 | The libc bits on an up-to-date "Red Hat Enterprise Linux WS (v. 3 for x86)" -rwxr-xr-x 1 root root 1144368 Mar 24 2004 libstdc++-2-libc6.1-1-2.9.0.so -rw-r--r-- 1 root root 426620 Mar 24 2004 libstdc++-3-libc6.2-2-2.10.0.a -r-xr-xr-x 1 root root 408440 Mar 24 2004 libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 root root 30 Dec 22 2004 libstdc++-libc6.1-1.so.2 -> libstdc++-2-libc6.1-1-2.9.0.so lrwxrwxrwx 1 root root 30 Dec 22 2004 libstdc++-libc6.2-2.a.3 -> libstdc++-3-libc6.2-2-2.10.0.a lrwxrwxrwx 1 root root 31 Dec 22 2004 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 root root 20 Dec 22 2004 libstdc++.so.2.7.2 -> libstdc++.so.2.7.2.8 -rwxr-xr-x 1 root root 1025339 Mar 24 2004 libstdc++.so.2.7.2.8 lrwxrwxrwx 1 root root 18 Dec 22 2004 libstdc++.so.2.8 -> libstdc++.so.2.8.0 -rwxr-xr-x 1 root root 375773 Mar 24 2004 libstdc++.so.2.8.0 lrwxrwxrwx 1 root root 22 Dec 22 2004 libstdc++.so.2.9 -> libstdc++.so.2.9.dummy -rwxr-xr-x 1 root root 5428 Mar 24 2004 libstdc++.so.2.9.dummy lrwxrwxrwx 1 root root 18 Sep 29 18:51 libstdc++.so.5 -> libstdc++.so.5.0.3 -rwxr-xr-x 1 root root 709456 Jul 19 2005 libstdc++.so.5.0.3 | |
btiffin: 5-Apr-2007 | date | |
Graham: 5-Apr-2007 | I used date to set the time correctly .. now going to wait 20 mins and see what happens | |
Graham: 5-Apr-2007 | perhaps I should run a script that fixes the date every minute! | |
Graham: 5-Apr-2007 | forever [ if error? set/any 'err try [ d: read daytime://192.168.220.2 d: load d call rejoin [ "date -s " {"} d/month "/" d/day "/" d/year " " d/time {"} ] ][ print mold disarm err ] wait 0:02:00 ] ] | |
btiffin: 13-Apr-2007 | I'll have a blog running on peoplecards.ca...and it's blog.r based. I'm just a little confused by blog-active: true/false and the [edit] sequence doesn't seem quite right yet. This code snippet doesn't seem to redisplay things properly... if cgi/save [ show-blog save-blog cgi/save cgi/date cgi/title cgi/text ] | |
DanielSz: 13-Sep-2007 | Sure, but I have lots of excuses to postpone. First, I forgot my password for the library script. Second, before posting to rebol.org I have to write proper headers in the script (such as date, version number, license). Third, I have no idea if there is interest at all. But I got your point, which is legit. | |
Graham: 21-Mar-2008 | I want to create a backup script that calls a backup utility, but I want to create the target file with today's date and time. | |
Graham: 21-Mar-2008 | sorry, I wasn't clear .. I want to name the file with today's date and time. | |
btiffin: 21-Mar-2008 | $ a=`date +%D` $ echo $a $ mv $backupfile $a # use date --help to see the plethora of date format specs | |
Anton: 27-Mar-2008 | file-modes doesn't seem to have anything >> print mold new-line/all/skip get-modes %Desktop get-modes %Desktop/ 'file-modes on 2 [ status-change-date: 26-Mar-2008/12:29:33+11:00 modification-date: 26-Mar-2008/12:29:33+11:00 access-date: 27-Mar-2008/13:29:25+11:00 owner-name: "anton" group-name: "anton" owner-id: 1000 group-id: 1000 owner-read: true owner-write: true owner-execute: true group-read: true group-write: false group-execute: true world-read: true world-write: false world-execute: true set-user-id: false set-group-id: false full-path: %/home/anton/.wine/dosdevices/c:/windows/profiles/anton/Desktop ] | |
Group: !Readmail ... a Rebol mail client [web-public] | ||
PhilB: 21-Apr-2005 | Hi Fabrice .... the format of the locale.r has changed in release 4.7.12 (for securty purposes) It should now be of the form ... REBOL [ Title: "Test Locale" Date: 31-Dec-2004/18:00:00 ] gm_about: "About" gm_Accounts: "Accounts" gm_Contacts: "Contacts" So you just need to remove the gv_locale/ from your code | |
Fabrice: 20-May-2005 | Received: from web26108.mail.ukl.yahoo.com ([217.12.10.232]) by mail.prosygma-asp.com (Merak 7.5.2) with SMTP id 1TI26716 for <[me-:-you-:-com]>; Tue, 26 Apr 2005 04:58:31 +0200 Received: (qmail 67900 invoked by uid 60001); 26 Apr 2005 02:58:30 -0000 Message-ID: <[20050426025830-:-67898-:-qmail-:-web26108-:-mail-:-ukl-:-yahoo-:-com]> Received: from [81.248.68.164] by web26108.mail.ukl.yahoo.com via HTTP; Tue, 26 Apr 2005 04:58:29 CEST Date: Tue, 26 Apr 2005 04:58:29 +0200 (CEST) From: Rodrigue <[you-:-me-:-com]> Subject: Re: Erreur lors de l'enregistrement d'une news To: Admin Rebol <[me-:-you-:-com]> In-Reply-To: 6667 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-370637848-1114484309=:67141" Content-Transfer-Encoding: 8bit X-Antivirus: avast! (VPS 0517-0, 25/04/2005), Inbound message X-Antivirus-Status: Clean --0-370637848-1114484309=:67141 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Salut Fabrice, Peux tu me redire sous quel format je dois envoyer les photos Rodrigue Admin Rebol <[me-:-you-:-com]> wrote: Bonjour Rodrigue, >Salut Fabrice, >contrairement à ce que je t'expliquais hier soir, les news ne s'enregistrent pas. >voilà le message d'erreur : Peux-tu m'envoyer ce que tu veux mettre en ligne par @ ? Je vérifierais directement avec tes données car il n'y a pas de problème de mon côté pour ajouter les news. Merci. -- Fabrice --------------------------------- Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails ! Créez votre Yahoo! Mail --0-370637848-1114484309=:67141 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit <DIV>Salut Fabrice,</DIV> <DIV> </DIV> <DIV>Peux tu me redire sous quel format je dois envoyer les photos<BR></DIV> <DIV>Rodrigue</DIV> <DIV><BR><B><I>Admin Rebol <[me-:-you-:-com]></I></B> wrote:</DIV> <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Bonjour Rodrigue,<BR><BR>>Salut Fabrice,<BR>>contrairement à ce que je t'expliquais hier soir, les news ne s'enregistrent pas.<BR>>voilà le message d'erreur : <BR><BR>Peux-tu m'envoyer ce que tu veux mettre en ligne par @ ?<BR>Je vérifierais directement avec tes données car il n'y a pas de problème de mon côté pour ajouter les news.<BR><BR>Merci.<BR><BR>-- <BR>Fabrice<BR></BLOCKQUOTE><p> <hr size=1> Découvrez le nouveau Yahoo! Mail : <font color="red">250 Mo d'espace</font> de stockage pour vos mails !<br><a href="http://fr.rd.yahoo.com/mail/taglines/*http://us.rd.yahoo.com/evt=25917/*http://us.rd.yahoo.com/mail_fr/mail_campaigns/splash/taglines_250/default/*http://fr.promotions.yahoo.com/mail/creer28.html">Créez votre Yahoo! Mail</a> --0-370637848-1114484309=:67141-- | |
Group: SDK ... [web-public] | ||
Graham: 22-Mar-2005 | I found that under win32, set-modes file [ modication-date: date ] works in the betas, but not in the latest sdk. Can anyone else confirm this? | |
Graham: 5-Dec-2005 | If you have an up-to-date SDK license, you can download the new distribution from: www.rebol.net/builds/sdk If you do not have an SDK or command license, we encourage you to buy one and help support REBOL development. | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Ashley: 26-Mar-2005 | Vincent: 'list behavior & features - less is more at this stage, once we have something to look at we can refine it. shadwolf: 'text+ removal. While a useful widget for certain domains (like WYSIWYG editors / browsers) it's not a basic building block widget. There were also some unresolved implementation issues with it at this stage - I'll add it back in at a later date as an optional or advanced widget. shadwolf: multi-column list. An implementation model I liked was that adopted by Gui4Cli ( http://users.hol.gr/~dck/g4c/) which allows simple "table" representations (including column type and alignment definitions). Can't say I've come across that many UI's that use anything other than text / numbers in a standard list (thumbnails and scrolling check-box options are usually implemented in an app specific manner). Ammon: 'display/popup. If it's sufficiently different from 'display/layout then I'm all for it. Ammon: Wizard style. A wizard widget, if simple enough, would be a good addition. Like 'group-box and 'tab-panel it is a meta-widget that groups / uses other widgets. I'll make this distinction clearer in the next version of the docs. On a side note, my install example has convinced me of the need for an 'indent option (and the fact that use of 'offset should reset the line-height calculation). Ammon: "Unless otherwise specified, text size reverts to 200x9999 if the string contains a newline." I probably need to rephrase this, but what I was trying to say was that by default 'text is 9999x20 which let's you write a string without having to know it's width in advance (9999 will auto-size it), *but* if the string contains a newline then it is the height that is the more important variable so it'll use 200x9999 instead. Of course it'll only do this if you don't provide an explicit size yourself (the "unless otherwise specified" bit). Hope that makes a bit more sense. | |
Graham: 27-Mar-2005 | What's wrong here ? display "Configuration" [ group-box [ "Panel" data [ text [ size 90 "Server (IP) " ] svr: field [ size 100x20 ]return text [ size 90 "Userid: " ] uid: field [ size 80x20 ] return text [ size 90 "Password: " ] pwd: field hide [ size 80x20 ] return text [ size 90 "Period (secs): " ] pd: field [ size 40x20 ] return text [ size 90 "Start Date: " ] dp: field [ size 80x20 ] return ] ] ] | |
Ashley: 28-Apr-2005 | Latest build available at: http://www.dobeash.com/files/RebGUI-021.zip Highlights include: - Specification dialect is now VID compatible (and 35% slower) - request-color and request-date added - Span attribute changed from tuple to issue - Couple of minor fixes - %tour.r has an additional "Requestors" tab I wanted to get this build out before folks went too far down the converting from VID to RebGUI and vice versa path. If a parse expert (I'm not one) could suggest performance improvements for the main display parse loop that would be great. | |
Group: !Uniserve ... Creating Uniserve processes [web-public] | ||
Graham: 5-Mar-2005 | REBOL [ Title: "SMTP daemon" Author: "Graham Chiu" Version: 0.0.1 Date: 5/3/2005 ] install-service [ name: 'smtp port-id: 25 multi-line-end: rejoin [crlf #"." crlf] stop-at: crlf server: make object! [ user-data: none ] maildir: %mail/ ; store mail here save-mail: func [ data /local mailbox ][ if not dir? mailbox: rejoin [ maildir server/user-data/email "/" ] [ if not exists? join maildir %misc/ [ mailbox: make-dir join maildir %misc/ ] ] if not exists? join mailbox "mail.txt" [ write join mailbox "mail.txt" "" ] write/append join mailbox "mail.txt" join crlf to-string data print dehex data ] on-new-client: has [su] [ su: server/user-data: context [ state: copy "command" email: none ] stop-at: crlf write-client join "220 mail.compkarori.co.nz SMTP" crlf ] smtp-rule: [ "HELO" thru newline ( write-client join "250 mail.compkarori.co.nz SMTP" crlf ) | "EHLO" thru newline ( write-client join "500 not implemented" crlf ) | "MAIL" thru newline ( write-client join "250 OK MAIL FROM" crlf) | "QUIT" thru newline ( write-client join "221 Good Bye" crlf close-client) | "RSET" thru newline ( write-client join "250 OK RESET" crlf server/user-data/state: copy "command" ) | "NOOP" thru newline ( write-client join "250 OK NOOP" crlf ) | "VRFY" thru newline ( write-client join "252 send some mail, i'll try my best" crlf ) | "EXPN" thru newline ( write-client join "500 not implemented" crlf ) | "RCPT" [ thru "<" | thru ": " ] copy name to "@" thru newline ( server/user-data/email: form name write-client join "250 OK RCPT TO" crlf ) | "DATA" thru newline ( stop-at: multi-line-end server/user-data/state: copy "body" ) ] on-received: func [data /local su] [ su: server/user-data print join "Data: " data switch su/state [ "command" [ if not parse data smtp-rule [ write-client join "500 command not understood" crlf ] ] "body" [ ; reject if we don't have a RCPT command first if none? su/email [ write-client join "500 no email address received" crlf stop-at: crlf su/state: copy "command" return ] ; write the body of the message somewhere save-mail rejoin [ "Received: from somewhere at " to-idate now newline dehex data newline newline ] stop-at: crlf write-client join "250 OK MAIL received" crlf su/state: "command" su/email: none ] ] ] ] | |
Graham: 5-Mar-2005 | REBOL [ Title: "SMTP daemon" Author: "Graham Chiu" Version: 0.0.2 Date: 5/3/2005 ] install-service [ name: 'smtp port-id: 25 multi-line-end: rejoin [crlf #"." crlf] stop-at: crlf server: make object! [ user-data: none ] clear-server: server/user-data [ state: "command" email: computer: none ] maildir: %mail/ ; store mail here domains: [ "@compkarori.co.nz" ] ; list of accepted domains save-mail: func [ data /local mailbox ][ if not dir? mailbox: rejoin [ maildir server/user-data/email "/" ] [ if not exists? mailbox: join maildir %misc/ [ mailbox: make-dir join maildir %misc/ ] ] if not exists? join mailbox "mail.txt" [ write join mailbox "mail.txt" "" ] write/append join mailbox "mail.txt" join crlf to-string data ; print dehex data ] on-new-client: has [su] [ su: server/user-data: context [ state: copy "command" email: computer: none ] stop-at: crlf write-client join "220 mail.compkarori.co.nz SMTP" crlf ] smtp-rule: [ "HELO" copy name thru newline ( write-client join "250 mail.compkarori.co.nz SMTP" crlf if not none? name [ trim/head/tail name ] server/user-data/computer: form name ) | "EHLO" thru newline ( write-client join "500 not implemented" crlf ) | "MAIL" thru newline ( write-client join "250 OK MAIL FROM" crlf) | "QUIT" thru newline ( write-client join "221 Good Bye" crlf close-client) | "RSET" thru newline ( write-client join "250 OK RESET" crlf clear-server ) | "NOOP" thru newline ( write-client join "250 OK NOOP" crlf ) | "VRFY" thru newline ( write-client join "252 send some mail, i'll try my best" crlf ) | "EXPN" thru newline ( write-client join "500 not implemented" crlf ) | "RCPT" [ thru "<" | thru ": " ] copy name to "@" copy domain to ">" thru newline ( either find domains domain [ server/user-data/email: form name write-client join "250 OK RCPT TO" crlf ][ write-client join "553 sorry, that domain is not in my list of allowed rcpthosts" crlf server/user-data/email: none ] ) | "DATA" thru newline ( stop-at: multi-line-end server/user-data/state: copy "body" write-client join "354 start mail input" crlf ) ] on-received: func [data /local su] [ su: server/user-data ; print join "Data: " data switch su/state [ "command" [ if not parse data smtp-rule [ write-client join "500 command not understood" crlf ] ] "body" [ ; reject if we don't have a RCPT command first if none? su/email [ write-client join "500 no email address received" crlf stop-at: crlf su/state: copy "command" return ] ; write the body of the message somewhere save-mail rejoin [ "Received: from " su/computer " ( " su/computer " [ " client/remote-ip " ]) " to-idate now newline dehex data newline newline ] stop-at: crlf write-client join "250 OK MAIL received" crlf su/state: "command" su/email: none ] ] ] ] | |
Anton: 18-Mar-2005 | Reporting-MTA: dns; sv7.prth.eftel.com X-Postfix-Queue-ID: E836A143ADA X-Postfix-Sender: rfc822; <anton's email address> Arrival-Date: Thu, 17 Mar 2005 21:00:45 +0800 (WST) Final-Recipient: rfc822; [gchiu-:-compkarori-:-com] Action: failed Status: 5.0.0 Diagnostic-Code: X-Postfix; host pop.compkarori.com[203.79.110.37] said: 552 write failure (in reply to end of DATA command) | |
Philippe: 13-May-2006 | Have you planned a target date for a beta of Cheyenne ? | |
Group: XML ... xml related conversations [web-public] | ||
Christophe: 7-Nov-2005 | More recent and up-to-date (and used by the french community) is RUn : http://rebol-unit.sourceforge.net/ | |
CharlesW: 1-Aug-2009 | Here is the snipped of XMl: <?xml version="1.0"?> <xts:sports-content-set xmlns:xts="http://www.xmlteam.com"query-date-time="20090724T011802-0400" query-string="http://fod.xmlteam.com/api-trial/getDocuments?doc-ids=xt.9140271-box" hostname="fod.xmlteam.com" result-count="1" error-count="0" elapsed-time="64.2ms"><sports-content xmlns:str="java.lang.String" xmlns:dt="http://xsltsl.org/date-time" xmlns:xts="http://www.xmlteam.com"xmlns:exsl="http://exslt.org/common" path-id="baseball/l.mlb.com/event-summary/xt.9140271-box" xts:systemid="MLB_Boxscore_XML" xts:tsnid="9140271"> <sports-metadata xmlns:fs="java.io.File" date-time="20090323T193000-0400" doc-id="xt.9140271-box" xts:tsnslug="AAX%BOX-LOS-ANA" language="en-US" revision-id="l.mlb.com-2009-e.26882-event-stats-sportsnetwork.com" fixture-key="event-stats" document-class="event-summary" fixture-name="Box Score"> <sports-title>Boxscore: LA Angels vs. Los Angeles</sports-title> <sports-content-codes> <sports-content-code code-name="The Sports Network" code-key="sportsnetwork.com" code-type="publisher"/> <sports-content-code code-name="XML Team Solutions, Inc." code-key="xmlteam.com" code-type="distributor"/> <sports-content-code code-type="sport" code-key="15007000" code-name="Baseball"/> <sports-content-code code-type="league" code-key="l.mlb.com" code-name="Major League Baseball"/> <sports-content-code code-type="season-type" code-key="pre-season"/> <sports-content-code code-type="season" code-key="2009"/> <sports-content-code code-type="priority" code-key="normal"/> <sports-content-code code-type="conference" code-key="c.national" code-name="National"/> <sports-content-code code-type="conference" code-key="c.american" code-name="American"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.11" code-name="Los Angeles Angels"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.28" code-name="Los Angeles Dodgers"/> <sports-content-code code-type="action-listing" code-key="complete"/> </sports-content-codes> </sports-metadata> <sports-event xmlns:fs="java.io.File"> <event-metadata xmlns:xte="www.xmlteam.com/xte" date-coverage-type="event" event-key="l.mlb.com-2009-e.26882" date-coverage-value="l.mlb.com-2009-e.26882" event-status="post-event" duration="2:58" start-date-time="20090323T160500-0400" xts:game-of-day="1"> <sports-content-codes/> <event-metadata-baseball/> <site> <site-metadata> <home-location/> </site-metadata> <site-stats attendance="8704"/> </site> </event-metadata> <team> <team-metadata team-key="l.mlb.com-t.28" alignment="away"> <name first="Los Angeles" last="Dodgers"/> </team-metadata> <team-stats score="4" score-opposing="10" event-outcome="loss"> <sub-score period-value="1" score="1"/> <sub-score period-value="2" score="0"/> <sub-score period-value="3" score="0"/> <sub-score period-value="4" score="3"/> <sub-score period-value="5" score="0"/> <sub-score period-value="6" score="0"/> <sub-score period-value="7" score="0"/> <sub-score period-value="8" score="0"/> <sub-score period-value="9" score="0"/> <team-stats-baseball> <stats-baseball-offensive runs-scored="4" at-bats="36" hits="9" rbi="4" bases-on-balls="2" strikeouts="4" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="1" stolen-bases-caught="1" hit-by-pitch="0" left-on-base="7"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> <stats-baseball-pitching runs-allowed="10" hits="13" earned-runs="10" bases-on-balls="6" strikeouts="8" era="10.000" balks="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" shutouts="0" games-complete="0" wins="0" losses="1"/> </team-stats-baseball> </team-stats> <player id="b.11965"> <player-metadata position-event="8" player-key="l.mlb.com-p.11965" status="starter"> <name first="Matt" last="Kemp"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="4" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="1" hit-by-pitch="0" average=".271"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> | |
CharlesW: 1-Aug-2009 | I<?xml version="1.0"?> <xts:sports-content-set xmlns:xts="http://www.xmlteam.com"query-date-time="20090724T011802-0400" query-string="http://fod.xmlteam.com/api-trial/getDocuments?doc-ids=xt.9140271-box" hostname="fod.xmlteam.com" result-count="1" error-count="0" elapsed-time="64.2ms"><sports-content xmlns:str="java.lang.String" xmlns:dt="http://xsltsl.org/date-time" xmlns:xts="http://www.xmlteam.com"xmlns:exsl="http://exslt.org/common" path-id="baseball/l.mlb.com/event-summary/xt.9140271-box" xts:systemid="MLB_Boxscore_XML" xts:tsnid="9140271"> <sports-metadata xmlns:fs="java.io.File" date-time="20090323T193000-0400" doc-id="xt.9140271-box" xts:tsnslug="AAX%BOX-LOS-ANA" language="en-US" revision-id="l.mlb.com-2009-e.26882-event-stats-sportsnetwork.com" fixture-key="event-stats" document-class="event-summary" fixture-name="Box Score"> <sports-title>Boxscore: LA Angels vs. Los Angeles</sports-title> <sports-content-codes> <sports-content-code code-name="The Sports Network" code-key="sportsnetwork.com" code-type="publisher"/> <sports-content-code code-name="XML Team Solutions, Inc." code-key="xmlteam.com" code-type="distributor"/> <sports-content-code code-type="sport" code-key="15007000" code-name="Baseball"/> <sports-content-code code-type="league" code-key="l.mlb.com" code-name="Major League Baseball"/> <sports-content-code code-type="season-type" code-key="pre-season"/> <sports-content-code code-type="season" code-key="2009"/> <sports-content-code code-type="priority" code-key="normal"/> <sports-content-code code-type="conference" code-key="c.national" code-name="National"/> <sports-content-code code-type="conference" code-key="c.american" code-name="American"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.11" code-name="Los Angeles Angels"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.28" code-name="Los Angeles Dodgers"/> <sports-content-code code-type="action-listing" code-key="complete"/> </sports-content-codes> </sports-metadata> <sports-event xmlns:fs="java.io.File"> <event-metadata xmlns:xte="www.xmlteam.com/xte" date-coverage-type="event" event-key="l.mlb.com-2009-e.26882" date-coverage-value="l.mlb.com-2009-e.26882" event-status="post-event" duration="2:58" start-date-time="20090323T160500-0400" xts:game-of-day="1"> <sports-content-codes/> <event-metadata-baseball/> <site> <site-metadata> <home-location/> </site-metadata> <site-stats attendance="8704"/> </site> </event-metadata> <team> <team-metadata team-key="l.mlb.com-t.28" alignment="away"> <name first="Los Angeles" last="Dodgers"/> </team-metadata> <team-stats score="4" score-opposing="10" event-outcome="loss"> <sub-score period-value="1" score="1"/> <sub-score period-value="2" score="0"/> <sub-score period-value="3" score="0"/> <sub-score period-value="4" score="3"/> <sub-score period-value="5" score="0"/> <sub-score period-value="6" score="0"/> <sub-score period-value="7" score="0"/> <sub-score period-value="8" score="0"/> <sub-score period-value="9" score="0"/> <team-stats-baseball> <stats-baseball-offensive runs-scored="4" at-bats="36" hits="9" rbi="4" bases-on-balls="2" strikeouts="4" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="1" stolen-bases-caught="1" hit-by-pitch="0" left-on-base="7"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> <stats-baseball-pitching runs-allowed="10" hits="13" earned-runs="10" bases-on-balls="6" strikeouts="8" era="10.000" balks="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" shutouts="0" games-complete="0" wins="0" losses="1"/> </team-stats-baseball> </team-stats> <player id="b.11965"> <player-metadata position-event="8" player-key="l.mlb.com-p.11965" status="starter"> <name first="Matt" last="Kemp"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="4" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="1" hit-by-pitch="0" average=".271"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7103"> <player-metadata position-event="8" player-key="l.mlb.com-p.7103" status="bench"> <name first="Jason" last="Repko"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".219"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.9917"> <player-metadata position-event="9" player-key="l.mlb.com-p.9917" status="starter"> <name first="Andre" last="Ethier"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="2" rbi="0" bases-on-balls="1" strikeouts="0" singles="2" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".204"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6892"> <player-metadata position-event="pr,7" player-key="l.mlb.com-p.6892" status="bench"> <name first="John-Ford" last="Griffin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="1" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".000"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.3810"> <player-metadata position-event="dh" player-key="l.mlb.com-p.3810" status="starter"> <name first="Manny" last="Ramirez"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="3" hits="0" rbi="0" bases-on-balls="0" strikeouts="2" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".200"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.9776"> <player-metadata position-event="ph,dh" player-key="l.mlb.com-p.9776" status="bench"> <name first="A.J." last="Ellis"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".320"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6773"> <player-metadata position-event="3" player-key="l.mlb.com-p.6773" status="starter"> <name first="James" last="Loney"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="4" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".241"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.5664"> <player-metadata position-event="3" player-key="l.mlb.com-p.5664" status="bench"> <name first="Doug" last="Mientkiewicz"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="0" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".238"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.13237"> <player-metadata position-event="2" player-key="l.mlb.com-p.13237" status="starter"> <name first="Russell" last="Martin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="2" rbi="1" bases-on-balls="0" strikeouts="0" singles="2" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="1" stolen-bases-caught="0" hit-by-pitch="0" average=".394"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7897"> <player-metadata position-event="2" player-key="l.mlb.com-p.7897" status="bench"> <name first="Danny" last="Ardoin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".375"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.2687"> <player-metadata position-event="5" player-key="l.mlb.com-p.2687" status="starter"> <name first="Mark" last="Loretta"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".250"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.14163"> <player-metadata position-event="5" player-key="l.mlb.com-p.14163" status="bench"> <name first="Luis" last="Maza"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".100"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.17507"> <player-metadata position-event="4" player-key="l.mlb.com-p.17507" status="starter"> <name first="Blake" last="DeWitt"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="0" strikeouts="1" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".288"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.1347"> <player-metadata position-event="4" player-key="l.mlb.com-p.1347" status="bench"> <name first="Juan" last="Castro"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".436"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.14313"> <player-metadata position-event="7,9" player-key="l.mlb.com-p.14313" status="starter"> <name first="Xavier" last="Paul"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="0" rbi="0" bases-on-balls="1" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".383"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.18742"> <player-metadata position-event="6" player-key="l.mlb.com-p.18742" status="starter"> <name first="Chin-Lung" last="Hu"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="4" hits="1" rbi="1" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".316"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.8512"> <player-metadata position-event="1" player-key="l.mlb.com-p.8512" status="starter"> <name first="Chad" last="Billingsley"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="4" innings-pitched="2" hits="4" earned-runs="4" bases-on-balls="3" strikeouts="2" era="6.35" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="1" xts:losses-season="1" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.5381"> <player-metadata position-event="1" player-key="l.mlb.com-p.5381" status="bench"> <name first="Jeff" last="Weaver"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="2" innings-pitched="2" hits="3" earned-runs="2" bases-on-balls="0" strikeouts="2" era="7.88" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="1" saves-blown="0" saves="0" event-credit="loss" xts:wins-season="0" xts:losses-season="1" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.18258"> <player-metadata position-event="1" player-key="l.mlb.com-p.18258" status="bench"> <name first="Scott" last="Elbert"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="1" hits="1" earned-runs="0" bases-on-balls="0" strikeouts="1" era="6.14" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="1" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.7482"> <player-metadata position-event="1" player-key="l.mlb.com-p.7482" status="bench"> <name first="Erick" last="Threets"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="2" innings-pitched="1" hits="1" earned-runs="2" bases-on-balls="1" strikeouts="2" era="5.40" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.19392"> <player-metadata position-event="1" player-key="l.mlb.com-p.19392" status="bench"> <name first="Ramon" last="Troncoso"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="2" innings-pitched="1" hits="3" earned-runs="2" bases-on-balls="1" strikeouts="0" era="7.88" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="1" xts:saves-season="1" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.14165"> <player-metadata position-event="1" player-key="l.mlb.com-p.14165" status="finished"> <name first="Brian" last="Mazone"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="1" hits="1" earned-runs="0" bases-on-balls="1" strikeouts="1" era="0.00" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="1" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> </team> <team> <team-metadata team-key="l.mlb.com-t.11" alignment="home"> <name first="Los Angeles" last="Angels"/> </team-metadata> <team-stats score="10" score-opposing="4" event-outcome="win"> <sub-score period-value="1" score="2"/> <sub-score period-value="2" score="2"/> <sub-score period-value="3" score="0"/> <sub-score period-value="4" score="2"/> <sub-score period-value="5" score="0"/> <sub-score period-value="6" score="2"/> <sub-score period-value="7" score="2"/> <sub-score period-value="8" score="0"/> <sub-score period-value="9"/> <team-stats-baseball> <stats-baseball-offensive runs-scored="10" at-bats="34" hits="13" rbi="10" bases-on-balls="6" strikeouts="8" doubles="2" triples="1" home-runs="3" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="0" stolen-bases-caught="2" hit-by-pitch="0" left-on-base="6"/> <stats-baseball-defensive errors="3" errors-passed-ball="0"/> <stats-baseball-pitching runs-allowed="4" hits="9" earned-runs="3" bases-on-balls="2" strikeouts="4" era="3.000" balks="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" shutouts="0" games-complete="0" wins="1" losses="0"/> </team-stats-baseball> </team-stats> <player id="b.6445"> <player-metadata position-event="5" player-key="l.mlb.com-p.6445" status="starter"> <name first="Chone" last="Figgins"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="1" bases-on-balls="1" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="2" hit-by-pitch="0" average=".325"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.20376"> <player-metadata position-event="ph,8" player-key="l.mlb.com-p.20376" status="bench"> <name first="Coby" last="Smith"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="1" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".667"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.11967"> <player-metadata position-event="4" player-key="l.mlb.com-p.11967" status="starter"> <name first="Howie" last="Kendrick"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="1" strikeouts="2" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".344"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7011"> <player-metadata position-event="ph,2" player-key="l.mlb.com-p.7011" status="bench"> <name first="Ryan" last="Budde"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="1" strikeouts="1" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".412"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.5533"> <player-metadata position-event="7" player-key="l.mlb.com-p.5533" status="starter"> <name first="Bobby" last="Abreu"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="0" rbi="0" bases-on-balls="1" strikeouts="2" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".263"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.11570"> <player-metadata position-event="5" player-key="l.mlb.com-p.11570" status="bench"> <name first="Brandon" last="Wood"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".354"/> <stats-baseball-defensive errors="1" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.1946"> <player-metadata position-event="9" player-key="l.mlb.com-p.1946" status="starter"> <name first="Vladimir" last="Guerrero"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="2" rbi="0" bases-on-balls="0" strikeouts="0" singles="2" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".250"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.19314"> <player-metadata position-event="9" player-key="l.mlb.com-p.19314" status="bench"> <name first="Chris" last="Pettit"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="1" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".354"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.2062"> <player-metadata position-event="8" player-key="l.mlb.com-p.2062" status="starter"> <name first="Torii" last="Hunter"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="3" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="1" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".182"/> <stats-baseball-defensive errors="1" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.15871"> <player-metadata position-event="4" player-key="l.mlb.com-p.15871" status="bench"> <name first="Sean" last="Rodriguez"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".282"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.18447"> <player-metadata position-event="3" player-key="l.mlb.com-p.18447" status="starter"> <name first="Kendry" last="Morales"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="3" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".367"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7262"> <player-metadata position-event="3" player-key="l.mlb.com-p.7262" status="bench"> <name first="Matthew" last="Brown"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="1" hits="0" rbi="1" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".550"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6012"> <player-metadata position-event="dh" player-key="l.mlb.com-p.6012" status="starter"> <name first="Juan" last="Rivera"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="1" singles="0" doubles="1" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".211"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.5647"> <player-metadata position-event="ph,dh" player-key="l.mlb.com-p.5647" status="bench"> <name first="Gary" last="Matthews"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="1" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".357"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6928"> <player-metadata position-event="2" player-key="l.mlb.com-p.6928" status="starter"> <name first="Jeff" last="Mathis"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="1" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="1" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".343"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6814"> <player-metadata position-event="ph,6" player-key="l.mlb.com-p.6814" status="bench"> <name first="Maicer" last="Izturis"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="1" hits="1" rbi="1" bases-on-balls="1" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".278"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.8016"> <player-metadata position-event="6" player-key="l.mlb.com-p.8016" status="starter"> <name first="Erick" last="Aybar"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="2" at-bats="2" hits="2" rbi="2" bases-on-balls="0" strikeouts="0" singles="0" doubles="1" triples="0" home-runs="1" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".310"/> <stats-baseball-defensive errors="1" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6589"> <player-metadata position-event="ph,7" player-key="l.mlb.com-p.6589" status="bench"> <name first="Robb" last="Quinlan"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="1" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".310"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.7092"> <player-metadata position-event="1" player-key="l.mlb.com-p.7092" status="starter"> <name first="Dustin" last="Moseley"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="4" innings-pitched="6" hits="8" earned-runs="3" bases-on-balls="1" strikeouts="3" era="3.15" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="1" losses="0" saves-blown="0" saves="0" event-credit="win" xts:wins-season="3" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.20390"> <player-metadata position-event="1" player-key="l.mlb.com-p.20390" status="bench"> <name first="Trevor" last="Reckling"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="2" hits="1" earned-runs="0" bases-on-balls="1" strikeouts="0" era="0.00" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.20370"> <player-metadata position-event="1" player-key="l.mlb.com-p.20370" status="finished"> <name first="Mason" last="Tobin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="1" hits="0" earned-runs="0" bases-on-balls="0" strikeouts="1" era="0.00" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> </team> <officials> <official> <official-metadata position="Home Plate Umpire"> <name full="Jim Wolf"/> </official-metadata> </official> <official> <official-metadata position="First Base Umpire"> <name full="Bob Davidson"/> </official-metadata> </official> <official> <official-metadata position="Second Base Umpire"> <name full="Mike Winters"/> </official-metadata> </official> <official> <official-metadata position="Third Base Umpire"> <name full="Mike Everitt"/> </official-metadata> </official> </officials> <event-actions> <event-actions-baseball/> </event-actions> <highlight class="double-plays"> <p>Los Angeles 2; LA Angels 1.</p> </highlight> </sports-event> </sports-content></xts:sports-content-set> | |
Group: SVG Renderer ... SVG rendering in Draw AGG [web-public] | ||
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] L [insert tail shape 'line] z [closed?: true] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] S [insert tail shape 'curv] L [insert tail shape 'line] Q [insert tail shape 'qcurve] T [insert tail shape 'qcurv] z [closed?: true] H [insert tail shape 'hline] V [insert tail shape 'vline] A [insert tail shape 'arc] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false if all [x not number? token] [ insert tail shape x * either token = 'V [scale-y][scale-x] x: none ] foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] S [insert tail shape 'curv] L [insert tail shape 'line] Q [insert tail shape 'qcurve] T [insert tail shape 'qcurv] z [closed?: true] H [insert tail shape 'hline] V [insert tail shape 'vline] A [insert tail shape 'arc] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
Group: rebcode ... Rebcode discussion [web-public] | ||
Pekr: 14-Oct-2005 | guys - take your time to do it right :-) We know "the date" is on 14.November. I can't imagine what the rebcode will be like at that time, if we have two releases daily :-) | |
Group: Syncing ... Syncing technologies [web-public] | ||
BrianH: 4-Jan-2006 | By "for comparison purposes", I mean don't change the file date, just subtract the diff between you and UTC to get the adjusted file date in memory and then compare against the adjusted file date from the server. | |
Group: Tech News ... Interesting technology [web-public] | ||
Pekr: 1-Mar-2006 | Gab, btw - as we don't want rebol to suck in the future, is the Roadmap REBOL 3 announcement date anytime soon now? :-) | |
Group: !RebDB ... REBOL Pseudo-Relational Database [web-public] | ||
Pekr: 8-Feb-2006 | SELECT o.order-id, o.date, o.amount, o.total, oi.item-id, io.item-price, oi.goods-name, c.company-name FROM orders o INNER JOIN order-items oi ON oi.order-id = o.order.id LEFT OUTER JOIN companies c ON c.company-id = o.company-id WHERE o.amount > 2000 ORDER BY c.company-name, o.order-id, o-item-id | |
Ashley: 9-Feb-2006 | Back to Pekr's JOIN problem. First, let's reformat the SQL into something more readable: select o.order-id, o.date, o.amount, o.total, oi.item-id, io.item-price, oi.goods-name, c.company-name from orders o , order-items oi , companies c where o.order.id = oi.order-id and o.company-id = c.company-id and o.amount > 2000 order by c.company-name, o.order-id, o-item-id | |
Ashley: 9-Feb-2006 | Then break it down into discrete queries and wrap it in some loops: blk: copy [] foreach [company-id order-id date amount total] sql [ select [company-id order-id date amount total] from orders where [amount > 2000] ][ company-name: second sql compose [lookup companies (company-id)] foreach [item-id item-price goods-name] sql compose [select * from order-items where (order-id)] [ insert tail blk reduce [order-id date amount total item-id item-price goods-name company-name] ] ] sort/skip/compare blk 8 [8 1 5] | |
Ashley: 9-Feb-2006 | The final [untested] solution is about as efficient as you can get. Adding JOIN support to RebDB so it can break the query down into similar steps is not a simple task. In all but the most trivial of cases you'd be better off coding it yourself. What might be a good idea is to add something that lets you more easily specify the most common JOIN operation - master/detail with optional LOV (List Of Values) lookup(s). Your query is a classic example of this construct and it accounts for a surprisingly large number of queries. The function would accept two queries, a master query (the orders table in your case) and a details query (the order-items table) and an optional block of column/LOV-table pairs (that perform substitutions such as company-name). The skeleton would look like: sql-join [master-query [block!] detail-query [block!] /order /lov [block!] ] [ buffer: copy [] ... buffer ] and would be used as such: sql-join/order/lov [ select [company-id order-id date amount total] from orders where [amount > 2000] ] [ select * from order-items where %ID% ] [8 1 5] [company-id companies] Would this make things a tad easier? | |
Ashley: 11-Feb-2006 | Thanks guys, I've had a good look at both implementations and I've got ideas from both for a future full JOIN implementation; but at the moment my master/detail code has come along nicely. I've now enhanced the db-select function to accept statements in these additional forms: select * from master joins [select * from details where &id] on id select * from master joins [select * from details where [all [master-id = &id master-date = &date]] on [id date] which works exactly like a normal join with the following differences: a) It can only join one table to another b) Detail columns are always joined to the right of master columns c) Table.column prefixes are not supported so all columns in the join must be uniquely named Apart from that you get all the benefits of db-select (can replace * with specific column combinations, order and group by on the final result set, etc) *and* it's significantly faster than even the raw REBOL code example I gave before (as the SQL is parsed once within db-select and all loop sub-selects are done in-line). I've also implemented “lookups” with the following form: select * from table replaces id with name select * from table replaces [id-1 id-2] with [table-1 table-2] which performs a highly optimized db-lookup for each replaced value, but has the following restrictions: a) The lookup expects lookup tables in the form [id label other-column(s)] b) Only single-key lookups are supported c) A lookup that fails will replace the column value with none! I'm now in the process of benchmarking these changes against sqlite to see where the bottlenecks (if any) are. Feedback on the design decisions is welcome. While I was doing this, I was once again reminded how cumbersome it is to construct SQL statements (not just for RebDB, same goes for the other SQL protocols), as the heavy use of 'compose, 'rejoin, etc adds noise that reduces legibility. The design goal is to provide alternatives to: sql compose/deep [select * from table where [all [col1 = (val1) col2 = (val2)]]] so for a start the 'sql function should probably accept a string, to allow: sql join “select * from “ table type constructs; but this doesn't make the first example easier. So how about the 'sql function accept a block containing a string statement followed by a number of substitution variables, as in: sql reduce [“select * from table where [all [col1 = &1 col2 = &2]]” val1 val2] which makes things a bit more readable (and shortens the expression if longer word names are used multiple times). So the two questions here are: a) Is this a good idea? b) If so, what substitution character (& % $ @ other) will cause the least conflict with REBOL and/or SQL? | |
Ashley: 12-Feb-2006 | Perhaps another keyword, 'appends, that inserts the matching label after the column that would otherwise have been replaced. Or, allow column names to be specified multiple times in the select clause with replacements occurring from the tail, so: select [id id date] from orders replaces id with name might return: 1 "Bob" 3-Jan-2006 2 "Fred" 4-Jan-2006 etc | |
BrianH: 22-Jun-2006 | If records aren't inserted often you can use a date/time for the field - otherwise use a number that you would increment. Keep in mind that if you do a lot of insertions and deletions, a number field could end up overflowing unless you occasionally compact the numbers. | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Ashley: 13-Feb-2006 | sqlite3-protocol.r has a minor bug whereby locals/cols are not cleared. Fix is to add a "clear cols" at the beginning of the ' sqlite-exec func. Two other changes I made to this function were: 1) Changing “SQLITE_TEXT [any [attempt [load val: sqlite3/column_text stmt j] val]]” so as REBOL values are returned, and 2) Removing the /only clause from "system/words/insert/only tail result col" for those that prefer flat data structures (i.e. non-blocked records) Finally, a simple wrapper makes the whole thing more usable: context [ db: none set 'open-db func [name [file!]] [ db: open join sqlite://localhost/ name ] set 'close-db does [ close db ] set 'describe func ['table [word!]] [ insert db rejoin ["select type, name, sql from sqlite_master where upper(tbl_name) = '" uppercase form table "' order by rootpage"] db/locals/sqlresult ] set 'sql function [arg [string! block!]] [statement] [ case [ string? arg [insert db arg] string? first arg [ statement: copy first arg repeat i -1 + length? arg [ replace/all statement join ":" i pick arg i + 1 ] insert db statement ] ] db/locals/sqlresult ] ] which lets you do stuff like: >> open-db %test.db >> sql "create table t1 (col1 INTEGER, col2 TEXT)" == [] >> describe t1 == [table t1 "CREATE TABLE t1 (col1 INTEGER, col2 TEXT)"] >> sql reduce ["insert into t1 values (1,':1')" now/date] == [] >> sql "select * from t1" == [1 13-Feb-2006] >> close-db | |
Ingo: 1-Mar-2006 | While testing I started a script using sqlite several times, at about the 17th call I get this error: ** Script Error: Library error: Max Callbacks ** Where: context ** Near: sqlite-trace: make routine! [ db [integer!] clb [callback! [int string!]] ptr [integer!] ] SQLite3lib I'm using the following version: Title: "SQLite driver" Owner: "Ashley G. Trüter" Version: 0.1.3 Date: 22-Feb-2006 | |
Graham: 20-Mar-2006 | Does sqlite support timestamp/date fields ? Is there a way to set a default value for a field ( so that on a sql insert, you don't have to explicitly mention that column ) ? | |
Ashley: 20-Mar-2006 | Graham, yes to all the above except timestamp/date fields. SQLite only supports 5 datatypes: Integer, Decimal, Binary, Null and Text. The driver (unless using the /direct refinement to connect) MOLDs and LOADs other REBOL types such as date!, pair!, etc into SQLite TEXT fields so date is certainly supported at the REBOL level (although an "order by date" clause will not give the expected results ... I tend to use 'sort/skip SQL "select id,date from t" 2' type constructs to achieve the desired result). Given how common this later operation is (order by date) I'm looking at changing the way date is bound. Instead of just MOLDing it, if it is transformed to YYYY-MM-DD format then not only can LOAD recognize it but it can be sorted (as TEXT) directly by SQLite. | |
Ashley: 20-Mar-2006 | The change to handle date properly is pretty simple in fact (starting at line#375): unless direct [ val: either date? val [ p: reform [val/year val/month val/day] all [val/month < 10 insert skip p 5 "0"] all [val/day < 10 insert skip p 8 "0"] poke p 5 #"/" poke p 8 #"/" p ] [mold/all val] ] | |
Graham: 20-Mar-2006 | also, this doesn't handle date stamps with time/seconds. | |
Pekr: 21-Mar-2006 | In Dbase, the date was stored in db in YYYYMMDD, so I vote for the date storage change too ... really helps sorting ... | |
sqlab: 21-Mar-2006 | YYYYMMDD is the short form of the iso date, otherwise it should be YYYY-MM-DD, if I remember. | |
Pekr: 21-Mar-2006 | hmm, DBase tools have it like I said - YYYYMMDD, and it is question of date mask (which can be set upon locale, which rebol does not support :-), if you use dot, slash, whatever as a separator ... | |
sqlab: 21-Mar-2006 | If it's not for human communication, the space between date und time is a T so now /precise is 2006-03-21T11:06:48.232+01 | |
Ashley: 21-Mar-2006 | Pekr, "the question is, if there should be any delimiter in DB". There has to be, otherwise LOAD will treat "20060101" as an integer not a date. Remember that SQLite has no concept of "column types" so the MOLDed values themselves have to carry / represent the REBOL type when LOADed. What we are trying to do with date is to use an alternate representation that REBOL will still recognize as a date but that also happens to sort correctly; YYYY-MM-DD achieves both those objectives, it's just a cosmetic question as to what delimiter "looks" better if someone looks at the raw data (prior to being LOADed into REBOL values) or uses the format directly in their statements (e.g. "select * from t where date = '2006-01-01'"). Graham, "If they are stored as numbers, then just as easy to sort!" Yes, but as per above we lose the fact that they are dates. If they are stored as integer then we'll get them back as integers. Graham, "what about time?" REBOL time values (in HH:MM:SS format) are already supported, and nothing prevents you from using now / now/precise except that these values will not be sorted correctly [with an "order by" clause that is]. | |
Ashley: 21-Mar-2006 | Mind you, I can always extend the date handling logic (as posted previously) to check to see whether the date has a time component; something like: if val/time [...] Should we be checking for a zone component as well? The shortest possible timestamp that REBOL will recognize is: type? load "2006-01-01/13:30" But that excludfes both seconds and zone. | |
Ashley: 22-Mar-2006 | Agreed. It's just that almost every datatype apart from date (pair! is also problematic) happens to sort correctly under SQLite as is; and changing date's TEXT representation so that it sorts correctly within SQLite is fairly easy. I'd rather write: result: SQL "select id,date from t order by date" than: result: sort/skip SQL "select id,date from t" 2 as it's both easier to maintain and more efficient. | |
Ashley: 25-Mar-2006 | 0.1.8 available at: http://www.dobeash.com/SQLite/sqlite.r Two main fixes are date bind value handling and concatenated string handling (both of which were posted previously as code snippets). | |
Group: Plugin-2 ... Browser Plugins [web-public] | ||
Louis: 12-Oct-2006 | >> exists? path-thru http://localhost/slideshow/test.r == false >> probe info? http://localhost/slideshow/test.r connecting to: localhost make object! [ size: 15 date: none type: 'file ] >> | |
Chris: 18-Jun-2007 | I think this is for an older version of the plugin: http://www.ross-gill.com/r/tile-test/ Need to look into bringing it up to date... | |
Group: !Liquid ... any questions about liquid dataflow core. [web-public] | ||
Maxim: 16-Feb-2007 | so node_c KNOWS its not up to date but computes nothing unless you need its value. | |
Group: !CureCode ... web-based bugtracking tool [web-public] | ||
DideC: 18-Nov-2008 | I have downloaded Curecode source. The func is defined in "db-abstract.r" and has the missing refinment ! So what ? Is just the installed file on the site not up to date ? | |
Group: DevCon2008 (post-chatter) ... DevCon2008 [web-public] | ||
Reichart: 9-Dec-2008 | Hmmm, it would be interesting to have a DevCon at this time, since many people are at home. May I suggest, that we do this another way, we create a list and let everyone post when is best, and when is worst, then we cull this to set a date. this is SO easy to do in Qtask (we just create a form for this). In AltME we could create a do list, and let each person just add their preference and follow a format. | |
james_nak: 10-Dec-2008 | Rebcon 2008 date select checklist/voting created. | |
james_nak: 11-Dec-2008 | Call for topics and presenters placed in the checklist. Sent out an email on the mailist to inform and gather input: Dear Fellow Rebolers (of the mailist faction), There has been some interest in a virtual gathering of Rebol developers and users. These discussions have been taking place in the Rebol3 Altme World. I know there are many here that do not regularly go there but nonetheless would be interested in participating. The date and time that has been looked at is December 27th from 12:00 PM. How does that sound to you? There has been no decision on the technology to be used but you're input would be much appreciated. We are also in need of presenters and/or desired topics. To summarize, we are looking for: An agreement on the time and date Topics desired Presentors Ideas for technology to be used Other | |
NickA: 19-Dec-2008 | Pekr, I did post here and the mailing list. The whole idea of the virtual DevCon evolved quickly and informally, so I apologise if it's been confusing. Since the idea was suggested very near the proposed DevCon date, I tried to help organize things a bit at http://rockfactory.us/events/devcon.html , but my efforts have been personal and not necessarily agreed upon by any of the community. We probably should have appointed an official group of organizers and created a web site first, but in the interest of trying to things done, I just moved ahead and posted my suggestions here and on the mailing list - I hope there've been no disagreements or concerns about any of that. DideC, as it stands, my intention is to make 100-150 connections available to http://rockfactory.us/rooms/room22 . At this point, it seams reasonable to leave it open - if anyone thinks we should expect more than 100 people, then I'll need to know soon. I'd appreciate a head count of people in the French community who plan to attend. Amacleod, the broadcast system at http://rockfactory.us/rooms/room22 seems to be the best available solution. I'm leaving that room available until the event, so that presenters can become familiar with it. To make it easier for others to use the system, please remember to close the broadcast page when you're done using it, and please try to conserve bandwidth to only what's necessary to become familiar and comfortable with the system. Please let me know if you have any questions! | |
Brock: 20-Dec-2008 | I feel bad as there was a list setup asking when it should be. However the only real date provided was the 27th. | |
Brock: 20-Dec-2008 | ... with an option for anyone to suggest another date. I didn't, and things just started falling into place. There will always be someone who isn't going to like the date and will have to miss. The only reason I bring it up now is that it's pretty obvious that this is not an IDEAL time for a larger number than any non-holiday weekend. | |
Sunanda: 20-Dec-2008 | The checklist was put up, with a request for people to add their preferred dates. Not many of us did, and 27-dec was the favorite from a very short list. I think now it'd be Nick's decision if he wanted to throw the date back into the open. Any of us could of course start the hunt for an eDevCon date in 2009. | |
NickA: 20-Dec-2008 | With that said, if the concensus is to move the date, I'm fine with that too :) If it helps to organize things, anyone can add _potential_ dates at http://rockfactory.us/events/devcon.html- just click the "add new event" link at the top of the page. | |
Reichart: 27-Dec-2008 | May I suggest that the following be added to the home page of REBOLConf.info website: - Much bigger date and time. - Link to the video conference. - List of known speakers. | |
Chris: 27-Dec-2008 | I need: a countdown timer that sits in an external file, is invoked with startTimer('date and time string'); and changes the text content of <span id="counter">. That is all. Otherwise, no timer... | |
Reichart: 27-Dec-2008 | Chris, may I suggest we set up the wiki website such that at the top is a given even (Name + Date) and that everything else be put on one big page. This has a lot of advantages. This is not to say people can't put things on other pages, but if we do it this way, everything can be in one place. You come to the Home page, then click on the event you are interestested in, and that is it. | |
Gabriele: 29-Dec-2008 | Instead of fixed dates, we could also adapt to presenters availability. ie., wait until there are a certain number of presenters, and then fix the date. | |
NickA: 1-Jan-2009 | Has a date/time been proposed? | |
Group: Printing ... [web-public] | ||
Graham: 29-Sep-2008 | pagesize A4 font Times-BoldItalic 30 linewidth 1 at 190x750 My-Name color (black) font Times-Roman 12 newpath at 75x725 line1 at 75x715 line2 at 75x705 line3 at 445x715 "Ph: " at 465x715 ph at 445x705 "Fx: " at 465x705 fx at 438x680 "Date:" font Times-Bold at 465x680 consult-date font Times-Roman 11 newpath at 75x740 line 530x740 newpath at 75x700 line 530x700 at 75x680 Provider-Template at 75x600 "Dear " at 100x600 Provider flow-translate 0x0 flowbox 75x150 540x590 float 20 flow-translate 0x0 flowbox 75x150 540x720 gonzo flow consult gonzo flow-translate 0x0 flowbox 75x150 540x720 float 10 flow-translate 0x0 flowbox 75x72 540x720 float 50 showpage | |
Graham: 29-Sep-2008 | This is the "dialect" I am using to generate a multi-page letter. Words like "consult-date" "provider" "My-name" are processed by a pre-processor to substitute the correct variables. | |
Geomol: 16-Jun-2009 | When printing, the user can often choose to have extra info printed with: who ordered the print, date and time, etc. What's the english name for this part of the print? The danish word for it translate to "receipt", but I feel, there's another english word. | |
Group: reblets ... working reblets (50-100 lines or less) [web-public] | ||
Maxim: 19-Mar-2009 | rebol [ title: "explore.r" version 1.0 date: 2009-03-19 author: "Maxim Olivier-Adlhoch" copyright: "2009(c)Maxim Olivier-Adlhoch" tested: "win xp" notes: "Add any dir to the dirs block. options are self explanatory" ] dirs: [ %/C/ [] %"/C/program files/" [expand] "%tmp%" [label "temp dir"] "" [ label "my documents"] ] blk: [] explore-dir: func [path expand? /local cmd][ call/shell rejoin [" explorer " either expand? ["/n,/e,"]["/n,"] path ] ] ctr: 1 foreach [item opts] dirs [ ctr: ctr + 1 expand?: found? find opts 'expand label: any [select opts 'label to-local-file item] append blk compose/deep [ pad 20 (to-set-word setw: rejoin ["dir" ctr]) check (expand?) pad 20 btn 200 left (label) [ explore-dir to-local-file item get in (to-word setw) 'data ] ] append blk 'return ] view layout compose [across vtext right "expand?" vtext "folder" return (blk)] |
101 / 1004 | 1 | [2] | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |