2008-3-27
| 23:20 | FunkyBob | unlink: tie wants an upload progress meter... probably like YUI does |
| 23:20 | Magus- | PAY ATTENTION |
| 23:20 | Magus- | MODEL field or FORM field |
| 23:20 | Magus- | christ |
| 23:20 | Magus- | they're both fields |
| 23:20 | Magus- | so saying "field" IS NOT a valid answer |
| 23:20 | unlink | FunkyBob: i mean, it's not solved if one server going down can take down the whole site |
| 23:20 | zbyszek | FORM field then. |
| 23:20 | Magus- | finally |
| 23:20 | ned | magus chill out man its just irc |
| 23:21 | ned | im on your side but man youre going to have a coronary |
| 23:21 | FunkyBob | unlink: it IS solved, it just involves more than slony |
| 23:21 | unlink | FunkyBob: for me, that's the master db |
| 23:21 | Magus- | ned: shut it |
| 23:21 | tie | unlink: as FunkyBob said, I am trying to do a progress reporting via an ajax call |
| 23:21 | FunkyBob | unlink: slony has failover mechanisms... the trick is getting all the DB clients to switch their write db |
| 23:21 | zbyszek | i see no info in docs ;/ |
| 23:21 | Magus- | zbyszek: because you aren't looking very hard |
| 23:21 | Magus- | |
| 23:22 | FunkyBob | unlink: and THAT is done using an off-the-shelf tool |
| 23:22 | Magus- | hey look at that, right in "core field arguments" for one |
| 23:22 | DaveyJoe | hmmm... should this be possible... Timetable.objects.filter(subject.class_group="the_class_group").order_by('time','day') |
| 23:22 | unlink | FunkyBob: hmm, i guess i'm new to the game |
| 23:22 | Magus- | DaveyJoe: not with that syntax of course |
| 23:22 | DaveyJoe | subject is a foreign key of the Timetble model |
| 23:22 | Magus- | |
| 23:22 | FunkyBob | unlink: it's ok.. so was I a year or so ago |
| 23:22 | DaveyJoe | Thanks Magus |
| 23:23 | zbyszek | thnx Magus- |
| 23:23 | FunkyBob | unlink: if you have a couple of machines you can test with, I'd love to hear someone elses experience with cybercluster |
| 23:23 | unlink | tie: you could have the client ping the server every now and then |
| 23:23 | tie | unlink: yeah, that's the idea, but how will the server know what to respond? |
| 23:24 | FunkyBob | unlink: the upload thread would need to periodically update some globally accessible progress counter |
| 23:24 | unlink | tie: have it pass some sort of key in the query param |
| 23:24 | FunkyBob | and Django doesn't work that way |
| 23:24 | wolfe | Ich Bin Dein Gummibaer! :D |
| 23:24 | FunkyBob chews on wolfe's foot | |
| 23:24 | unlink | FunkyBob: it depends what the progress is of |
| 23:24 | nipuL | ESSEN! |
| 23:24 | wolfe | FunkyBob: nuu |
| 23:24 | unlink | FunkyBob: yeah, HTTP is stateless |
| 23:24 | wolfe | *runs away from being eatten* |
| 23:25 | tie | unlink: the client doesn't know the status... one server-side process does the job, and only it knows the status |
| 23:25 | tie | the trick is to share the status information with other requests/views |
| 23:25 | unlink | FunkyBob: anyway, my "couple of machines" at the time is a bunch of UML instances on a laptop with 512M of RAM O:-) |
| 23:25 | unlink | tie: yes, what are you monitoring the status of? |
| 23:25 | FunkyBob | tie: personally, I'm in favor of experimenting with a custom XHR FTP :) but that'd require JavaScript having random access to the given file |
| 23:25 | tie | unlink: a file copy operation |
| 23:25 | FunkyBob | unlink: worth a shot :) |
| 23:26 | unlink | FunkyBob: well i'd love a couple more gigs of RAM, but yeah :P |
| 23:26 | unlink | FunkyBob: what's your email, i'll send you a holler when i test it out |
| 23:26 | tie | FunkyBob: I am not sure what exactly do you mean by "XHR FTP"? |
| 23:26 | FunkyBob | unlink: you logged in? |
| 23:27 | unlink | FunkyBob: logged in to what? |
| 23:27 | FunkyBob | tie: XHR == XmlHttpRequest... how most AJAX is implemented |
| 23:27 | FunkyBob | tie: FTP == File Transfer Protocol |
| 23:27 | FunkyBob | unlink: freenode... so I can prv msg you |
| 23:27 | tie | ok, so how do you mix them? |
| 23:27 | tie | you mean calls to ftp:// urls? |
| 23:28 | unlink | FunkyBob: yep |
| 23:29 | tie | anyway, I guess your idea is to save progress to a file, which is kinda i/o intensive, but yeah, it's a soution |
| 23:29 | Magus- | FunkyBob: erm, its the other way around ;) |
| 23:29 | Magus- | you have to be logged in to send, not receive |
| 23:29 | Magus- | (unless the other one is set unfiltered) |
| 23:29 | tie | the best idea I go so far are scheduled DB updates |
| 23:30 | FunkyBob | Magus-: ok... never was sure |
| 23:30 | FunkyBob | thanks |
| 23:30 | FunkyBob | for clearing that up |
| 23:30 | nipuL | hmm would be nice if there was an easier way to add management commands, rather than app/management/commands/command.py something like settings.MANAGEMENT_COMMANDS=(('command','klass'),) |
| 23:30 | Magus- | that's not easier |
| 23:30 | mattmcc | Isn't it better to not have to manipulate settings just to add functionality? |
| 23:31 | Magus- | requiring a settings edit would be silly - you'd have to edit it every time you grabbed a 3rd party app with commands |
| 23:31 | Magus- | the current method just works |
| 23:31 | Magus- | you add the app to INSTALLED_APPS and hey look, custom command is ready |
| 23:31 | nipuL | i know, but it's a pain when you just want to add a simple command that doesn't really a pply to an app |
| 23:31 | mattmcc | How about simply making it a script to execute? |
| 23:32 | Magus- | indeed |
| 23:32 | mattmcc | Without going through the management mechanism? |
| 23:32 | nipuL | it's more fun this way |
| 23:32 | zbyszek | request.method aways returns 'GET' ? |
| 23:32 | mattmcc | zbyszek: When the request method is GET, yes... |
| 23:32 | Magus- | zbyszek: if it's a GET request, of course |
| 23:32 | Magus- | obviously it won't return GET on a POST |
| 23:34 | zbyszek | Magus-: what when there is GET and POST ? |
| 23:35 | Magus- | huh? |
| 23:35 | zbyszek | you can send form (post method) to ?foo=bar |
| 23:35 | Magus- | then method is POST obviously |
| 23:35 | mattmcc | The use of a query string doesn't mean a request is a GET. |
| 23:35 | Magus- | method is the method, it has nothing to do with data sent |
| 23:36 | Magus- | POST /foo/?bar=baz HTTP/1.1 |
| 23:36 | Magus- | that may use a querystring, but it's a POST request, obviously |
| 23:36 | Magus- | so naturally method is POST |
| 23:36 | Magus- | even though there's data in request.GET |
| 23:36 | zbyszek | oh |
| 23:36 | mattmcc | Which has always been a pet peeve of mine about web development. |
| 23:36 | mattmcc | Everybody seems to put query string data in a structure called 'GET'. |
| 23:37 | zbyszek | that is imho good becouse you can send a link to a friend |
| 23:37 | mattmcc | Yes, query strings are fine. That's not my point. |
| 23:37 | Magus- | you completely misunderstood, zbyszek |
| 23:37 | mattmcc | But they're not "GET data" the same way one thinks of "POST data" |