On Sun, Jun 12, 2011 at 6:46 PM, francescortiz <[email protected]>wrote:

> Cal,
>
> Thank you for your feedback. I really appreciate it. I will be
> implementing what you say as soon as I can. Everything you said was
> pretty clear except the part from including a RequestContext. Where is
> the RequestContext missing?
>

This was in relation to the template rendering comment, but without a
template then there's no need for request context.


>
> Also, about using a template instead of embedding HTML in the code, I
> don't think I will be doing that unless it comes to be necessary (or
> someone demands that), in order to save some function calls, like they
> do in django widgets source code (if I didn't guess wrongly why they
> do it this way).
>

Yeah, I guess it does, but you'd only really see the performance difference
if the method was getting 10k hits/sec (might be worth benchmarking it to
see what the perf diff actually is, it'd be a good learning experience!)


>
> Your comments are great. I will be fixing the race condition this next
> week, and the rest of what you comment ASAP.
>
> Regards,
>
> Francesc
>
>
>
> On 12 Juny, 19:19, "Cal Leeming [Simplicity Media Ltd]"
> <[email protected]> wrote:
> > Sorry, one last thing.
> >
> > In relation to the resp html stuff, you should have actually used a
> template
> > for that, loaded the variables into a request context, then rendered the
> > template directly.
> >
> > Cal
> >
> > On Sun, Jun 12, 2011 at 6:18 PM, Cal Leeming [Simplicity Media Ltd] <
> >
> >
> >
> >
> >
> >
> >
> > [email protected]> wrote:
> > > First, the good feedback.
> >
> > > Good use of exception blocks, code style, built-ins, standard libs
> etc..
> > > Although I can't comment on the implementation on the end product, you
> have
> > > clearly made an effort to use as many of the features offered by Django
> (and
> > > python) as possible in this project. The fact you are using a decent
> code
> > > repo (imo), is also a good sign. Though you still have a long way to go
> > > (it's a never ending road lol), this is exceptionally good work for
> > > a beginner.
> >
> > > And here's the criticisms / a few things that stand out..
> >
> > > Firstly:
> >
> > >    path = path.replace("..", "")
> > >    path = path.replace("..", "")
> > > (repeated 20 odd times)
> >
> > > Try replacing the above with os.path.basename() and os.path.abspath(),
> I
> > > think a combination of both is what you are looking for (unless I've
> > > mistaken what you were doing)
> >
> > > Secondly,
> >
> > >             resp = '<div style="display:inline-block;
> position:relative; border:1px solid black;">'
> > >             resp += '<img id="image_center-'+str(COUNTER)+'"
> src="'+reverse('image.views.image',args=(value.image_path,'width=150&height=150&mode=scale'+extra_parms))+'"
> onclick=""/>'
> > >             resp += '<img id="image_center_crosshair-'+str(COUNTER)+'"
> src="'+reverse('image.views.crosshair')+'" style="position:absolute; left:0;
> top:0;" />'
> >
> > > It is *extremely* bad practise to use string concatenation (even when
> > > casting in-line). You should instead be using a sprintf style:
> >
> > > Example:
> >
> > > """<div class="%s"""" % (
> > >     class_name
> > > )
> >
> > > or
> >
> > > "<div class='%s'" % ( class_name )
> >
> > > etc
> >
> > > Also, instead of using string appending (+=),you should instead append
> > > them to a list, then do a string join on the list ("\n".join(resp))
> >
> > > Thirdly, I'm seeing a lack of RequestContext(), you should always
> include
> > > it (even if you don't use it), makes life easier in the future.
> >
> > > Forthly, you are using a global within your code (global COUNTER).
> Using
> > > globals within a multi-threaded application is extremely bad, and
> can/will
> > > introduce undesirable race conditions. And believe me, this won't be
> the
> > > first or last time a race condition screws you over :)
> >
> > > I see you are also using os.system(cmd), I would recommend looking into
> > > using popen instead.
> >
> > > It might also be worth revisiting the code in a few days/weeks/months,
> > > looking over it, and making a list of things you dislike about it. As
> ones
> > > experience with any language progresses, their style changes slightly
> and
> > > they find better ways of doing things. The key to a great programmer,
> is not
> > > about making mistakes, but about recognising that you made one :) *imo
> > > anyway!*
> >
> > > Hope this helps
> >
> > > Cal
> >
> > > On Sun, Jun 12, 2011 at 2:26 PM, francescortiz <
> [email protected]>wrote:
> >
> > >> Hi,
> >
> > >> I developed a django app and I would like to know what you think about
> > >> it. I am relatively new to python and django so I expect more
> > >> criticism than enything else.
> >
> > >> Description:
> > >> Django application that provides resizing and thumbnailing for images
> > >> and videos with the ability to set the center of attention, heads
> > >> won't get cut anymore.
> >
> > >> Link:
> > >>https://github.com/francescortiz/image
> >
> > >> I am thinking of calling it "django-headcut"
> >
> > >> Thank you,
> >
> > >> Francesc
> >
> > >> --
> > >> You received this message because you are subscribed to the Google
> Groups
> > >> "Django users" group.
> > >> To post to this group, send email to [email protected].
> > >> To unsubscribe from this group, send email to
> > >> [email protected].
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/django-users?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to