Aviseringar
Rensa alla

Conky (Linux) + Um = Sant?


Gifted
Ämnesstartare

Jag funderar lite på att koda ngt script som skriver hur många olästa Gb, inlägg, bildkommentarer, etc, man har.

Då kan man mha conky se det direkt på skrivbordet.

Någon som känner att de vill hjälpa till?

Tänkte något i stil med att använda wget för att ladda sidan,
sedan regexpa ut lämplig info.
Problemet jag ser är hur man skall logga in, då man nog inte kan skriva inloggsuppg i adressfältet, och man bör ju inte göra det i http heller...


   
Citera

Du kan inte tänka dig att spara kakorna du autensierar dig med vanligtvis, och skicka med dem i anropet? Eller POSTa dina användaruppgifter, precis som du gör när du loggar in?

Image


   
SvaraCitera
Åtta

Do it! Dela sedan med dig av skripten och .conkyrc, eller vad konfigurationsfilen nu heter.


   
SvaraCitera
Gifted
Ämnesstartare

alter ego:

Eller POSTa dina användaruppgifter, precis som du gör när du loggar in?

jo, att posta är trivialt (har redan kod för att exportera blogginlägg från min blogg till um).

Edit: ah, man kan posta kaka innan man laddar.. najs.

http://www.gnu.org/software/wget/manual/html_node/HTTP-Options.html


   
SvaraCitera
Gifted
Ämnesstartare

Ok, jag är på god väg nu, någon vänlig själ som kan
*skriva ett pm,
*kommentera en bild, och
*kommentera ett blogginlägg?

Det vore jättevänligt, då jag inte vill skaffa en fejkanvändare bara för att hitta koden för detta.


   
SvaraCitera

Lycka till med att parsa HTML-koden UM spottar ur sig. Full av felstrukturerad, redundant skit, och det är nog lättare att få en JPEG-bild genom valitator.w3.org än UM.


   
SvaraCitera
Gifted
Ämnesstartare

KID_IS_BACK:

Lycka till med att parsa HTML-koden

..låter apjobbigt. Jag regexpar ju givetvis ut skiten.

Här är i alla fall grejen:


#!/bin/sh
#Ungdomar.se script
#
#Detta script skriver ut hur många PM, Bloggkommentarer, gästboksinlägg, etc. som är olästa.
#-------------------------------------------------

#Write your username and passsword here
MY_USERNAME=GenericUserExample
MY_PASSWORD=GenericPassExample

#-------------------------------------------------
LOGIN_DATA="action=login&login_nick=$MY_USERNAME&login_pwd=$MY_PASSWORD"

#Downloads the first page you get when you log in
wget --quiet --save-cookies --save-session-cookies --post-data $LOGIN_DATA --user-agent 'Firefox' -O um.htm http://ungdomar.se/index.php

#Extracts the number of forum comments
FOURM_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*forumkommentar.*count..\([0-9]*\).*/\1/p'`
#Extract the number of guestbook posts
GUESTBOOK_NUMBER=`cat um.htm | LANG=de_SE.iso88591 sed -n 's/.*g.stbok.*count..\([0-9]*\).*/\1/p'`
#Extract the number of PM:s
PM_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*ol.st.*pm.*count..\([0-9]*\).*/\1/p'`
#Extract the number of blog comments
BLOGG_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*bloggkommentar.*count..\([0-9]*\).*/\1/p'`
#Extract the number of image comments
IMAGE_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*albumkommentar.*count..\([0-9]*\).*/\1/p'`

echo "PM $PM_NUMBER, Blogg $BLOGG_NUMBER, Gb $GUESTBOOK_NUMBER, Forum $FOURM_NUMBER, Bild $IMAGE_NUMBER"

#Remove the downloaded file
rm um.htm

   
SvaraCitera
Åtta

Gifted:

Finns det något som gör att man kan skriva kod, typ [code]kod här[/code]?

[ pre ] [/ pre ]


   
SvaraCitera
Gifted
Ämnesstartare

Åtta:

[ pre ] [/ pre ]

tackar!


   
SvaraCitera
Åtta

Om man inte har några kommentarer etc. så returnerar den bara

PM , Blogg , Gb , Forum , Bild

Kan du inte ordna så att om de variablerna är tomma så returneras 0? Bash är inte riktigt min grej. [blush]


   
SvaraCitera

Kan du lägga upp scriptet i en git-repo någonstans?


   
SvaraCitera

fruitpunch:

A

En sån data har jag å jag gör så varje gång jag startaren [tired]


   
SvaraCitera
Åtta

Nu har jag varit duktig och försökt lära mig någonting själv. [blush] Resultatet kanske inte är det bästa, men jag har åtminstone försökt. Skulle dock behöva bli citerad för att se om det fungerar som det ska.

#!/bin/sh
#Ungdomar.se script
#
#Detta script skriver ut hur många PM, Bloggkommentarer, gästboksinlägg, etc. som är olästa.
#-------------------------------------------------

#Write your username and passsword here
MY_USERNAME=användarnamn
MY_PASSWORD=lösenord

#-------------------------------------------------
LOGIN_DATA="action=login&login_nick=$MY_USERNAME&login_pwd=$MY_PASSWORD"

#Downloads the first page you get when you log in
wget --quiet --save-cookies --save-session-cookies --post-data $LOGIN_DATA --user-agent 'Firefox' -O /tmp/um/um.htm http://ungdomar.se/index.php

#Extracts the number of forum comments
FORUM_NUMBER=`cat /tmp/um/um.htm | LANG=se_SE.iso88591 sed -n 's/.*forumkommentar.*count..\([0-9]*\).*/\1/p'`
#Extract the number of guestbook posts
GUESTBOOK_NUMBER=`cat /tmp/um/um.htm | LANG=de_SE.iso88591 sed -n 's/.*g.stbok.*count..\([0-9]*\).*/\1/p'`
#Extract the number of PM:s
PM_NUMBER=`cat /tmp/um/um.htm | LANG=se_SE.iso88591 sed -n 's/.*ol.st.*pm.*count..\([0-9]*\).*/\1/p'`
#Extract the number of blog comments
BLOGG_NUMBER=`cat /tmp/um/um.htm | LANG=se_SE.iso88591 sed -n 's/.*bloggkommentar.*count..\([0-9]*\).*/\1/p'`
#Extract the number of image comments
IMAGE_NUMBER=`cat /tmp/um/um.htm | LANG=se_SE.iso88591 sed -n 's/.*albumkommentar.*count..\([0-9]*\).*/\1/p'`

if [ -z "$PM_NUMBER" ]; then
PM_NUMBER=0
fi
if [ -z "$BLOGG_NUMBER" ]; then
BLOGG_NUMBER=0
fi
if [ -z "$GUESTBOOK_NUMBER" ]; then
GUESTBOOK_NUMBER=0
fi
if [ -z "$FORUM_NUMBER" ]; then
FORUM_NUMBER=0
fi
if [ -z "$IMAGE_NUMBER" ]; then
IMAGE_NUMBER=0
fi

echo "PM: $PM_NUMBER | Bloggkommentarer: $BLOGG_NUMBER | Gästboksinlägg: $GUESTBOOK_NUMBER | Forumciteringar: $FORUM_NUMBER | Bildkommentarer: $IMAGE_NUMBER"

#Remove the downloaded file
rm /tmp/um/um.htm

   
SvaraCitera
Åtta

Ändrade lite. Kan tyvärr inte redigera min förra post.

#!/bin/sh
#Ungdomar.se script
#
#Detta script skriver ut hur många PM, Bloggkommentarer, gästboksinlägg, etc. som är olästa.
#-------------------------------------------------

#Write your username and passsword here
MY_USERNAME=användarnamn
MY_PASSWORD=lösenord

#-------------------------------------------------
LOGIN_DATA="action=login&login_nick=$MY_USERNAME&login_pwd=$MY_PASSWORD"

#Downloads the first page you get when you log in
cd /tmp/um
wget --quiet --save-cookies --save-session-cookies --post-data $LOGIN_DATA --user-agent 'Firefox' -O um.htm http://ungdomar.se/index.php

#Extracts the number of forum comments
FORUM_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*forumkommentar.*count..\([0-9]*\).*/\1/p'`
#Extract the number of guestbook posts
GUESTBOOK_NUMBER=`cat um.htm | LANG=de_SE.iso88591 sed -n 's/.*g.stbok.*count..\([0-9]*\).*/\1/p'`
#Extract the number of PM:s
PM_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*ol.st.*pm.*count..\([0-9]*\).*/\1/p'`
#Extract the number of blog comments
BLOGG_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*bloggkommentar.*count..\([0-9]*\).*/\1/p'`
#Extract the number of image comments
IMAGE_NUMBER=`cat um.htm | LANG=se_SE.iso88591 sed -n 's/.*albumkommentar.*count..\([0-9]*\).*/\1/p'`

if [ -z "$PM_NUMBER" ]; then
PM_NUMBER=0
fi
if [ -z "$BLOGG_NUMBER" ]; then
BLOGG_NUMBER=0
fi
if [ -z "$GUESTBOOK_NUMBER" ]; then
GUESTBOOK_NUMBER=0
fi
if [ -z "$FORUM_NUMBER" ]; then
FORUM_NUMBER=0
fi
if [ -z "$IMAGE_NUMBER" ]; then
IMAGE_NUMBER=0
fi

echo "PM: $PM_NUMBER | Bloggkommentarer: $BLOGG_NUMBER | Gästboksinlägg: $GUESTBOOK_NUMBER | Forumciteringar: $FORUM_NUMBER | Bildkommentarer: $IMAGE_NUMBER"

#Remove the downloaded file
rm um.htm

   
SvaraCitera
Åtta

Right, då trippelpostar jag lite då. Min modifierade version av skriptet fungerar inte, och jag förstår inte varför. De olika variablerna returnerar alltid 0, oavsett om jag är citerad eller ej. [cry]

Dock har jag slängt in det lite fint i conky. Min .conkyrc är som följer.

#avoid flicker

double_buffer yes

#own window to run simultanious 2 or more conkys

own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_title mi_conky

#borders

draw_borders no
border_margin 1
stippled_borders 0

#shades

draw_shades no
draw_outline no

#position
gap_x 0
gap_y 0
alignment top_left

#behaviour

update_interval 1
background no

#colour

default_color 9f907d

#default_shade_color 000000

own_window_colour 3d352a

#font

use_xft yes

xftfont bauhaus:pixelsize=9

#to prevent window from moving
use_spacer none
minimum_size 1435 0

TEXT
${alignr}${execi 300 ./Scripts/um.sh}

   
SvaraCitera