| [reply] [d/l] [select] |
it cannot be accessed by programs if it is marked as 'not public', even if you provide your login and want to access your scratchpad.
it is possible to access your own scratchpad parsing user info, but the canonical solution remains broken.
I don't understand this. Perhaps you need to define "the canonical solution" for me because I can't find any solution that cares whether your own scratchpad is public or not (if you provide your login information or cookie).
I just used a program to access my scratchpad that I had marked as "not public". I did not use "edit user information". I simply pulled down the scratchpad page. It was as easy as:
perl -S GET "http://perlmonks.org/?node=scratch+pad+viewer;user=tye;di
+splaytype=raw;op=login;passwd=yeah,right"
where "displaytype=raw" is optional, you can replace "node=..." with "node_id=108949", and you can replace "op=login;passwd=..." with a cookie.
Perhaps you are hoping for "displaytype=xml" to work. It doesn't, even if your scratchpad is public. The solution for that is to split scratchpads out of the 'user' table (which solves several other problems and even reduces DB load).
What am I missing?
| [reply] [d/l] |
Let me clarify my previous node, there are at least three ways to read a scratchpad:
- via node 108949 with displaytype raw, but this will show a rendered scratchpad
- parsing user's info forms, but you need a parser different from the one you would use for normal nodes (for example XML::Simple)
- via user's home node with displaytype xml
The first method will never give the original content of the node; the second is a little tricky compared to the xml solution; the third will not work on your own scratchpad if it is not public.
I think that the xml displaytype should be corrected to show my scratchpad if I provide the required credentials. Am I wrong?
update: thank you very much tye!!!
| [reply] |
use LWP::Simple;
use XML::Simple;
my $home_id = 'xxxxxx';
my $f = XMLin(get
'http://www.perlmonks.org/index.pl?node_id=' .
$home_id . '&displaytype=xml'
);
print $f->{data}{field}{scratchpad}{content};
Update, moments after posting this reply: I am too tired. My eyes read "it cannot be accessed by programs even if it is marked as 'not public'". I still maintain that you can get the scratchpad contents of a non-public scratchpad. Simply parse the textarea from the edit user information page. Also, why do you mention that as a bad side effect of scratchpads? You can't access the personal nodelet in any special outside manner either...
| [reply] [d/l] |
Perhaps a checkbox in your personal nodelet to delete links
No, no! That'd be tons of check boxes. The "add this to my personal nodelet" link needs to become "delete this from my personal nodelet" when you are on a node that is already in your personal nodelet.
| [reply] |
| [reply] |